ÓÃExcel+VBA+SQL Server½øÐÐÊý¾Ý´¦Àí
ÓÃExcel+VBA+SQL Server½øÐÐÊý¾Ý´¦Àí
ʹÓÃExcel+VBA+SQL Server½øÐÐÊý¾Ý´¦ÀíÊÇÒ»ÖÖ¼òµ¥ÓÐЧ·½·¨£¬ÕÆÎÕÒÔÏ»ù´¡ÖªÊ¶ÊµÏÖ¿ìËÙÈëÃÅ(ÕÆÎÕexcel/vba/sqlserver¸÷1%ÄÚÈÝ£¬Äã¾ÍÄܳÉΪÊý¾Ý´¦Àí¸ßÊÖµÄ:))£º
Ò»¡¢Excel»ù´¡ÖªÊ¶
Á˽⹤×÷²¾(Workbook)¡¢¹¤×÷±í(Worksheet)¡¢µ¥Ôª¸ñ(Cell)µÈµÄ»ù±¾¸ÅÄÊìϤһЩ»ù±¾²Ù×÷¡£
¶þ¡¢SQL Server»ù´¡ÖªÊ¶
²Î¼ûhttp://distance.njtu.edu.cn/course/8100062/kejian/index.htm
1¡¢Êý¾Ý¿âÓйظÅÄÊý¾Ý¿â¡¢±í¡¢¼Ç¼¡¢×Ö¶Î
A)Êý¾Ý¿â(Database)
B)±í(Table)¡¢¼Ç¼£¨ÐУ¬Row,Record£©¡¢×ֶΣ¨ÁУ¬Column,Field£©...
2¡¢³£¼ûÊý¾Ý²Ù×÷µÄSQLÃüÁselect, insert , update ,delete
Èý¡¢VBA»ù´¡ÖªÊ¶£º
1¡¢»ù±¾¸ÅÄî¡£
2¡¢»ù±¾¿ØÖƽṹ£º
·Ë³Ðò½á¹¹:³ÌÐò°´Ë³ÐòÖ´ÐÐ;
··ÖÖ§½á¹¹ÃüÁî:
if Ìõ¼þ then
<Èç¹ûÌõ¼þ³ÉÁ¢Ö´Ðб¾Óï¾ä¿é>
end if
»ò£º
if ... then
...
else
...
end if
»ò£º
if ... then
...
elseif ...
...
else
...
end if
µÈ¡£¡£
·Ñ»·½á¹¹ÃüÁ
for i=? to ??
...
next
»ò
do while ...
...
loop
3¡¢ÔÚVBAÖвÙ×ݶÔÏó£¬ÏÈÀí½â²Ù×ÝEXCEL¹¤×÷±íºÍÊý¾Ý¿â¶ÔÏó£º
½«ÖµÐ´ÈëEXCELµ¥Ôª¸ñ£¬È磺thisworkbook.worksheets("sheet1").cells(1,2)=1234444
´ÓEXCELµ¥Ôª¸ñÈ¡µÃÊýÖµ£¬È磺x=thisworkbook.worksheets("sheet1").cells(1,2)
Êý¾Ý¿â²Ù×÷£º
cn.open ...£¨½¨Á¢Êý¾ÝÁ¬½Ó¶ÔÏó£©
rs.open ... £¨½¨Á¢Êý¾Ý¼¯¶ÔÏó£©
x=rs("...") £¨¶ÁÈ¡ÊýÖµ£©
rs.close £¨¹Ø±Õrs£©
cn.close £¨¹Ø±Õcn£©
cn.execute £¨Ö´ÐÐsqlÓï¾ä£©
...
ËÄ¡¢Àý×Ó
sub test() '¶¨Òå¹ý³ÌÃû³Æ
Dim i As Integer, j As Integer, sht As Worksheet 'i,jΪÕûÊý±äÁ¿£»sht Ϊexcel¹¤×÷±í¶ÔÏó±äÁ¿£¬Ö¸Ïòijһ¹¤×÷±í
Dim cn As New ADODB.Connection '¶¨ÒåÊý¾ÝÁ´½Ó¶ÔÏó £¬±£´æÁ¬½ÓÊý¾Ý¿âÐÅÏ¢£»ÇëÏÈÌí¼ÓADOÒýÓÃ
Dim rs As New ADODB.Recordset '¶¨Òå¼Ç¼¼¯¶ÔÏ󣬱£´æÊý¾Ý±í
Dim strCn As String ,strSQL as String '×Ö·û´®±äÁ¿
strCn = "Provider=sqloledb;Server=·þÎñÆ÷Ãû³Æ»òI
Ïà¹ØÎĵµ£º
¡¡SQLÖÐÓÐËÄÖÖ»ù±¾µÄDML²Ù×÷£ºINSERT£¬SELECT£¬UPDATEºÍDELETE¡£
INSERTÓï¾ä
¡¡¡¡Óû§¿ÉÒÔÓÃINSERTÓï¾ä½«Ò»ÐмǼ²åÈëµ½Ö¸¶¨µÄÒ»¸ö±íÖС£ÀýÈ磬Ҫ½«¹ÍÔ±John SmithµÄ¼Ç¼²åÈëµ½±¾ÀýµÄ±íÖУ¬¿ÉÒÔʹÓÃÈçÏÂÓï¾ä£º
¡¡¡¡INSERT INTO EMPLOYEES VALUES
¡¡¡¡ ('Smith','John','1980-06-10',
¡¡¡¡ 'Los Angles',16,45000);
¡¡ ......
showºÍsetÃüÁîÊÇÁ½ÌõÓÃÓÚά»¤SQL*Plusϵͳ±äÁ¿µÄÃüÁî
SQL> show all --²é¿´ËùÓÐ68¸öϵͳ±äÁ¿Öµ
SQL> show user --ÏÔʾµ±Ç°Á¬½ÓÓû§
SQL> show error¡¡¡¡ --ÏÔʾ´íÎó
SQL> set heading off --½ûÖ¹Êä³öÁбêÌ⣬ĬÈÏֵΪON
SQL> set feedback off --½ûÖ¹ÏÔʾ×îºóÒ»ÐеļÆÊý·´À¡ÐÅÏ¢£¬Ä¬ÈÏֵΪ"¶Ô6¸ö» ......
¡¡¡¡±¾ÎÄʾÀýÔ´´úÂë»òËØ²ÄÏÂÔØ
¡¡¡¡±¾½ÚµÄÄÚÈÝ£º
¡¡¡¡ÈçºÎÔÚInfoPathÖÐʹÓÃÊý¾ÝÁ¬½ÓÀ´´ÓSQL ServerÊý¾Ý¿âÖлñÈ¡Êý¾Ý
¡¡¡¡ÈçºÎͨ¹ý´úÂëÀ´ÐÞ¸ÄÊý¾ÝÁ¬½ÓÖеÄSQL²éѯ
¡¡¡¡ÔÚ¿ªÊ¼Éè¼ÆInfoPath±íµ¥Ö®Ç°£¬ÏÈ×¼±¸Ò»¸öÊý¾Ý¿â£¬InfoPathÖ§³ÖÁ½ÖÖÊý¾Ý¿âÁ¬½Ó£º
¡¡¡¡Microsoft Office AccessÊý¾Ý¿â£¨.mdbÎļþ»ò.accdbÎļþ£©
¡¡¡ ......
bit£º0»ò1µÄÕûÐÍÊý×Ö
int£º´Ó-2^31(-2,147,483,648)µ½2^31(2,147,483,647)µÄÕûÐÍÊý×Ö
smallint£º´Ó-2^15(-32,768)µ½2^15(32,767)µÄÕûÐÍÊý×Ö
tinyint£º´Ó0µ½255µÄÕûÐÍÊý×Ö
decimal£º´Ó-10^38µ½10^38-1µÄ¶¨¾«¶ÈÓëÓÐЧλÊýµÄÊý×Ö
numeric£ºdecimalµÄͬÒå´Ê
money£º´Ó-2^63(-922,337,203,685,477.5808)µ½2^ ......