출처: http://support.microsoft.com/kb/214342


Error message in Excel: "Unable to save external link values"

This article was previously published under Q214342

SYMPTOMS

When you try to save a workbook that contains either a link to a large range of cells in another workbook (approximately 16,000 cells) or too many cells that are linked to a cell in another workbook, you receive the following error message in Microsoft Excel 2000:
Not enough memory.
Then, you receive the following error message:
Unable to save external link values.
In Microsoft Office Excel 2003 and in Microsoft Excel 2002, you receive the following error message:
Excel cannot complete this task with available resources. Choose less data or close other applications.
Then, you receive the following error message:
Unable to save external link values.

CAUSE

This problem occurs when you save a workbook that contains a link to a range of cells in a different workbook, and the range is more than 16,000 cells. This problem occurs because Microsoft Excel 2000 cannot save a workbook that contains a link to an external range of more than 16,000 cells.

WORKAROUND

To work around this problem, link to multiple smaller ranges instead of one large range.

If you do not need to save a copy of the external link values, you can disable the option to save a copy of the external link values by following these steps:
  1. Switch to the workbook that contains the link formulas.
  2. On the Tools menu, click Options.
  3. Click the Calculation tab in the Options dialog box.
  4. Under Workbook options, click to clear the Save external link values check box, and click OK.
To work around this problem, you can also move the sheet or the sheets that contain the external data range that you are referencing in the VLOOKUP into the same workbook that contains the VLOOKUP formulas.
Posted by 노을지기
출처: http://www.groovypost.com/howto/microsoft/outlook/disable-microsoft-outlook-2007-and-2003-email-auto-complete/

아웃룩에서 이메일 보내는 사람 주소를 자동으로 완성하는 기능이 있다.

이것을 지정하는 곳은
[Tools] - [Options] - [Preferences Tab's E-mail Options..] - [Advanced E-mail Options..] 이다.

이곳에서 선택
[Suggest names while completing To, Cc, and Bcc fields]

1. On the Tools menu, click Options.

tools_options

 

2. On the Preferences tab, click E-mail Options,

image

 

and then click Advanced E-mail Options.

Disable Auto Complete

 

3. Clear the Suggest names while completing To, Cc, and Bcc fields check box.

Disable Auto Complete

 


Posted by 노을지기

Outlook 설정 파일을 백업하는 방법

다른 컴퓨터에 복제하거나 컴퓨터에 복원하려는 도구 모음 설정 및 즐겨찾기와 같은 설정을 사용자 지정한 경우 다음 파일을 백업에 포함하려고 할 수 있습니다.
  • Outcmd.dat: 이 파일은 도구 모음 및 메뉴 설정이 저장되어 있습니다.
  • ProfileName.fav: Outlook 표시줄에 대한 설정이 포함되어 있는 즐겨찾기 파일입니다.
  • ProfileName.nk2: 이 파일은 자동 완성을 위한 애칭을 저장합니다.
  • 서명 파일: 개별 서명에는 자체 파일이 있고 만들 때 사용한 서명과 같은 이름을 사용합니다. 예를 들어, MySig라는 서명을 만든 경우 다음 파일이 Signatures 폴더에 만들어집니다.
    • MySig.htm: 이 파일은 HTML 자동 서명을 저장합니다.
    • MySig.rtf: Microsoft Outlook RTF(서식 있는 텍스트) 메시지 맺음말이 저장됩니다.
    • MySig.txt: 일반 텍스트 형식의 메시지 맺음말이 저장됩니다.
    서명 파일의 위치는 실행 중인 Windows 버전에 따라 다릅니다. 다음 목록에서 해당 위치를 찾으십시오.
    • Windows Vista: Drive\users\Username\appdata, 여기서 Drive는 Outlook이 설치되어 있는 드라이브를 나타내고 Username은 Outlook이 설치된 사용자 이름을 나타냅니다.
    • Windows XP 또는 Windows 2000: Drive\Documents and Settings\Username\Local Settings\Application Data\Microsoft\Outlook, 여기서 Drive는 Outlook이 설치된 드라이브를 나타내고 Username은 Outlook이 설치된 사용자 이름을 나타냅니다.
    • Windows 98 또는 Windows Me: Drive\Windows\Local Settings\Application Data, 여기서 Drive는 Outlook이 설치된 드라이브를 나타냅니다.
참고 Microsoft Word를 전자 메일 편집기로 사용하는 경우 서명은 Normal.dot 파일에 상용구 항목으로 저장됩니다. 이 파일도 백업해야 합니다.

How to back up Outlook settings files

If you have customized settings, such as toolbar settings and Favorites, that you want to replicate on another computer or restore to your computer, you might want to include the following files in your backup:
  • Outcmd.dat: This file stores toolbar and menu settings.
  • ProfileName.fav: This is your Favorites file, which includes the settings for the Outlook bar (only applies to Outlook 2002 and older versions).
  • ProfileName.xml: This file stores the Navigation Pane preferences (only applies to Outlook 2003 and newer versions).
  • ProfileName.nk2: This file stores the Nicknames for AutoComplete.
  • Signature files: Each signature has its own file and uses the same name as the signature that you used when you created it. For example, if you create a signature named MySig, the following files are created in the Signatures folder:
    • MySig.htm: This file stores the HTML Auto signature.
    • MySig.rtf: This file stores the Microsoft Outlook Rich Text Format (RTF) Auto signature.
    • MySig.txt: This file stores the plain text format Auto signature.
    The location of the signature files depends on the version of Windows that you are running. Use this list to find the appropriate location:
    • Windows Vista or Windows 7: Drive\users\Username\appdata, where Drive represents the drive that Outlook was installed to and Username represents the user name that Outlook was installed under.
    • Windows XP or Windows 2000: Drive\Documents and Settings\Username\Local Settings\Application Data\Microsoft\Outlook, where Drive represents the drive that Outlook was installed to and Username represents the user name that Outlook was installed under.
    • Windows 98 or Windows Me: Drive\Windows\Local Settings\Application Data, where Drive represents the drive that Outlook was installed to.
Note If you use Microsoft Word as your e-mail editor, signatures are stored in the Normal.dot file as AutoText entries. You should back up this file also.
Posted by 노을지기
어려가지를 찾았는데, 우선 이것으로..

출처: http://www.w3schools.com/PHP/php_ajax_database.asp

AJAX Database Example

The following example will demonstrate how a web page can fetch information from a database with AJAX:

Example


Firstname Lastname Age Hometown Job
Joseph Swanson 39 Quahog Police Officer



Example Explained - The MySQL Database

The database table we use in the example above looks like this:

id FirstName LastName Age Hometown Job
1 Peter Griffin 41 Quahog Brewery
2 Lois Griffin 40 Newport Piano Teacher
3 Joseph Swanson 39 Quahog Police Officer
4 Glenn Quagmire 41 Quahog Pilot


Example Explained - The HTML Page

When a user selects a user in the dropdown list above, a function called "showUser()" is executed. The function is triggered by the "onchange" event:

<html>
<head>
<script type="text/javascript">
function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<form>
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form>
<br />
<div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>

The showUser() function does the following:

  • Check if a person is selected
  • Create an XMLHttpRequest object
  • Create the function to be executed when the server response is ready
  • Send the request off to a file on the server
  • Notice that a parameter (q) is added to the URL (with the content of the dropdown list)

The PHP File

The page on the server called by the JavaScript above is a PHP file called "getuser.php".

The source code in "getuser.php" runs a query against a MySQL database, and returns the result in an HTML table:

<?php
$q=$_GET["q"];

$con = mysql_connect('localhost', 'peter', 'abc123');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("ajax_demo", $con);

$sql="SELECT * FROM user WHERE id = '".$q."'";

$result = mysql_query($sql);

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

mysql_close($con);
?>

Explanation: When the query is sent from the JavaScript to the PHP file, the following happens:

  1. PHP opens a connection to a MySQL server
  2. The correct person is found
  3. An HTML table is created, filled with data, and sent back to the "txtHint" placeholder


question?
출처: http://stackoverflow.com/questions/2593317/ajax-display-mysql-data-with-value-from-multiple-select-boxes

I'm using the W3 Schools example: http://www.w3schools.com/PHP/php_ajax_database.asp to display a table of database data given the choice from a single select box. How can I modify this to include another select box, say for example I wanted records matching a name and an age?

link|edit|flag

33% accept rate


2 Answers

up vote 0 down vote accepted

Change

<select name="users" onchange="showUser()" id="name_select">

ADD age drop down from 1 to 100

<select name="age" onchange="showUser()" id="age_select">
 
<option value="1">1</option>
 
<option value="2">2</option>
                   |
 
<option value="100">100</option>
</select>

Change

function showUser(str)
{
xmlhttp
=GetXmlHttpObject();
if (xmlhttp==null)
 
{
  alert
("Browser does not support HTTP Request");
 
return;
 
}
name
= document.getElementByID('name_select').value
age
= document.getElementByID('age_select').value
var url="getuser.php";
url
=url+"?q="+str+"&age="+age;
url
=url+"&sid="+Math.random();
xmlhttp
.onreadystatechange=stateChanged;
xmlhttp
.open("GET",url,true);
xmlhttp
.send(null);
}

change in php

$age=$_GET["age"];
$sql
="SELECT * FROM user WHERE id = '".$q."' and age=".$age;
link|edit|flag


Won't this be a problem if they don't select an age? – dclowd9901 Apr 7 '10 at 15:00

I'm having problems, now nothing happens if I change the selections – Robert Apr 7 '10 at 15:14

@Robert sorry dear your showUser(str) now should be showUser() – Salil Apr 8 '10 at 3:56

Works great now, thanks! – Robert Apr 8 '10 at 8:39

You can try this (the following piece of code is not tested, but it should work)

The HTML Page

<html>
<head>
<script type="text/javascript" src="selectuser.js"></script>
</head>
<body>

<form>
Select a User:
<select name="users" id="users">
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>

Select an age:
<select name="age" id="age">
<option value="39">39</option>
<option value="40">40</option>
<option value="41">41</option>
<option value="42">42</option>
</select>

<input type='button' value='Refresh Data' onclick="showUser(document.getElementById('users').value,document.getElementById('age').value)">
</form>
<br />
<div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>

The Java script code as:

var xmlhttp;

function showUser(str,age)
{
xmlhttp
=GetXmlHttpObject();
if (xmlhttp==null)
 
{
  alert
("Browser does not support HTTP Request");
 
return;
 
}
var url="getuser.php";
url
=url+"?q="+str+"&a="+age;
url
=url+"&sid="+Math.random();
xmlhttp
.onreadystatechange=stateChanged;
xmlhttp
.open("GET",url,true);
xmlhttp
.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
{
document
.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
 
{
 
// code for IE7+, Firefox, Chrome, Opera, Safari
 
return new XMLHttpRequest();
 
}
if (window.ActiveXObject)
 
{
 
// code for IE6, IE5
 
return new ActiveXObject("Microsoft.XMLHTTP");
 
}
return null;
}

The PHP Page as

<?php
$q
=$_GET["q"];
$a
=$_GET["a"];

$con
= mysql_connect('localhost', 'peter', 'abc123');
if (!$con)
 
{
 
die('Could not connect: ' . mysql_error());
 
}

mysql_select_db
("ajax_demo", $con);

$sql
="SELECT * FROM user WHERE id = '".$q."' and age='".$a."'";

$result
= mysql_query($sql);

echo
"<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>"
;

while($row = mysql_fetch_array($result))
 
{
  echo
"<tr>";
  echo
"<td>" . $row['FirstName'] . "</td>";
  echo
"<td>" . $row['LastName'] . "</td>";
  echo
"<td>" . $row['Age'] . "</td>";
  echo
"<td>" . $row['Hometown'] . "</td>";
  echo
"<td>" . $row['Job'] . "</td>";
  echo
"</tr>";
 
}
echo
"</table>";

mysql_close
($con);
?>


나중에 정리..ㅋㅋ
Posted by 노을지기
select box을 이용하여 검색을 하고 싶었는데, 자료가 인터넷에 있다..ㅋㅋ

자료 감사합니당..



출처: http://webnoon.net/189

이제 슬슬 서버사이드 언어인 PHP 와 jQuery 를 함께 사용하는 예제를 다루어 보도록 하겠습니다.
이번 강좌에서는 Select 필드의 항목이 변경되면 다른 필드가 동적으로 변경되는것을 해보도록 하겠습니다.

이 예제는, 여러 사이트의  회원가입 양식에서 보셨을텐데요. 예로, 내가 해당하는 국가를 선택하면 그에 따른 도시명들이 나열되는 select 필드가 동적으로 생성되는 예제입니다.

1. 먼저, Client Language 를 살펴보고, (jQuery 와 Html)
2. Server-side code 를 살펴본다음,
3. 코드에 대한 설명을 하도록 하겠습니다.

1. jQuery & html Code
<script src="../jquery.js.txt" type="text/javascript"></script>
<script type="text/javascript">
    function setup_country_change(){
        //나라가 바뀌는지 이벤트를 감지함.
        //문서가 ready 되면 실행되는 콜백 함수
        $('#country').change(update_cities);
    }
    function update_cities(){
        //선택된 나라를 country 변수에 저장한다.
        var country = $('#country').attr('value');
        //나라가 선택되면 get_city.php 함수 실행
        //데이터가 반환되면 show_cities() 함수가 실행된다.
        $.get('get_cities.php?country='+country,show_cities);
    }
    function show_cities(res){
        //get_cities.php 에 의해 데이터가 반환되면 res로 받아옵니다.
        //필드를 변경한다.
        $('#cities').html(res);
    }
    //문서가 로드 완료되면 setup_country_change() 함수를 실행한다.
    $(document).ready(setup_country_change);
   
</script>
</head>

<body>
<h1>웹눈의 jQuery 강좌 6 - Select 필드 동적으로 변경하기</h1>
<h3>이 강좌는 'http://webnoon.net - 웹눈의 웹이야기' 블로그에서 보실수 있습니다.</h3>
    <form id="select_country" name="select_country" method="" action="#">
        <table>
            <tr>
                <th>Country</th>
                <td>
                    <select name="country" id="country">
                        <option value="" selected="selected">나라를 선택해주세요.</option>
                        <option value="ko">한국</option>
                        <option value="us">미국</option>
                        <option value="uk">영국</option>
                    </select>
                </td>
            </tr>
            <tr>
            <th>Cities</th>
                <td id="cities">나라를 먼저 선택해주시기 바랍니다.</td>
            </tr>
        </table>
    </form>
</body>

2. PHP - Code
<?php
    switch($_REQUEST['country'])
    {
        case "ko":
        $cities = array('서울','대전','부산','대구');
        break ;
       
        case "us":
        $cities = array('New york','Cicago','L.A','또 뭐가 있니');
        break ;
       
        case "uk":
        $cities = array('London','도시1','도시2','도시3');
        break;
        default :
        $cities = false ;
        break;
    }
    if(!$cities) echo "나라를 선택해 주시와요.";
    else echo "<select name='city'><option>".
            join('</option><option>',$cities).
            '</option></select>';
?>

3. 코드에 대한 설명

먼저, 전체적인 그림을 잡아보도록 하지요.
사용자가 하는 행위를 생각해 보면, 우선 나라를 선택을 하게 될것입니다.. 이런 행위를 프로그래밍에서는 '이벤트가 발생한다' 고 하는데요, 즉, 사용자가 나라를 선택하는 행위의 발생을 말합니다.

그러면 우리가(코더 혹은 프로그래머)가 해야 할 일은 이러한 사용자의 행위(이벤트) 의 발생을 감지해서 그에 따른 적절한 조치들을 취해야 겠지요? 이번 예제에서는 선택하는 이벤트가 발생하면 해당 국가의 도시명들을 가지고 오는 작업을 해주어야 하겠습니다.

그럼 1번 jQuery 코드를 살펴보면, 사용자의 이벤트를 감지하는 코드를 볼수가 있습니다. 무엇이냐구요? 바로 setup_country_change() 함수 안에 있는 $('#country').change(update_cities) 부분이 사용자의 이벤트를 감지하는 부분입니다.

$('#country') 라는 'Object(객체)' 에 변화(change) 가 감지되면 update_cities 라는 콜백 함수를 실행하라는 내용이지요. html 코드를 보면 id가 country 로 되어 있는 부분이 select box 로 되어있는것을 알수 있습니다. 즉, 사용자가 select box를 선택(변경) 하면 발생하는 이벤트를 감지해서 update_cities() 라는 함수를 실행한다는 내용입니다.

그럼 변화가 발생하면 실행되는 함수인 update_cities() 함수를 살펴보도록 하지요.
이 함수는 어느 나라가 선택되어졌는지 확인하고, 서버사이드 언어인 PHP에 선택되어진 나라 정보를 전송하게 됩니다.

var country = $('#country').attr('value'); 이 부분이 선택되어진 나라를 변수에 저장하는 부분입니다. select box를 보면 option 마다 속성값이 있는것을 볼수 있는데, 이것이 선택될때마다 #country 객체의 value 값이 바뀌게 됩니다.

만약, '한국'을 선택했다면 country 변수에는 'ko'라는 값이 할당이 되겠지요?

이제 이 예제의 핵심적인 부분을 살펴 보도록 하겠습니다.

$.get('get_cities.php?country='+country,show_cities); 이 부분은 get_cities.php 인 서버측에 선택되어진 나라 정보를 전송하고나서 get_cities.php로 부터 제공되어지는 데이터를 retrieve(되돌려 전송) 받습니다.

선택되어지 나라 정보를 get 방식으로 전송한다는것을 알수 있지요?

$.get() 함수는 두개의 매개변수를 전달 받는데, 첫번째에는 데이터를 전송/수신 할 php 주소를, 두번째는 서버로부터 데이터를 전송받으면 실행할 콜백 함수를 정의합니다. 뭐.. 간단하지요?

마지막으로 show_cities()함수를 살펴보도록 하지요.

show_cities() 함수는 $.get에 의해 불리어지는 함수인데, 서버측에서 제공하는 데이터를 매개변수로 받습니다.
즉, show_cities(res){} 식으로 사용하는데, res에는 서버에서 전송하는 데이터 정보가 담겨져 있지요.
이렇게 서버로부터 전송받은 데이터를 $('#cities').html(res); 와 같은 식으로 #cities 필드의 html 값을 변경시키는 것입니다.

그럼 이제, 서버측 언어를 살펴보도록 하지요. 대충 어떻게 되어있을지 감이 오지 않나요?

네, 간단합니다. $.get에서 전송한 나라 정보를 switch문을 사용해서 판별한다음에,
그에 맞는 도시명들을 반환하는 역할을 하고 있습니다.

여기서는 DB와 연동 하지는 않았지만, DB와도 문제없이 사용할수 있겠지요?
그럼 강좌는 여기서 마치도록 하겠습니다.

p.s - 예제 소스는 파일로 첨부하였으니, 다운받아서 실행해 보시기 바래요. 질문은 언제나 환영입니다~
Posted by 노을지기