»áÔ±£º ÃÜÂ룺 ¡¡Ãâ·Ñ×¢²á | Íü¼ÇÃÜÂë | »áÔ±µÇ¼ ÍøÒ³¹¦ÄÜ£º ¼ÓÈëÊÕ²Ø ÉèΪÊ×Ò³ ÍøÕ¾ËÑË÷  
¼¼ÊõÎĵµ > VBÎĵµ > Êý¾Ý±¨±í
VBÖÐÔ¶³ÌÊý¾Ý¿âµÄ·ÃÎÊ
·¢±íÈÕÆÚ£º2003-07-30 00:00:00×÷ÕߣºÁ ³ö´¦£º  

¡¡¡¡ÔÚVBÖУ¬ÓÃÊý¾Ý¿âÒýÇæºÍÊý¾Ý·ÃÎʶÔÏóDAO¿ÉÒÔ´´½¨¹¦ÄÜÇ¿´óµÄ¿Í»§/·þÎñÆ÷Ó¦ÓóÌÐò¡£¶ÔÔ¶³ÌÊý¾Ý¿âµÄ·ÃÎÊÊÇ¿ª·¢ÕâÀàÓ¦ÓóÌÐòµÄ¹Ø¼ü£¬±¾ÎĽ«½éÉÜÔÚVBÖÐÓÃDAOͨ¹ýÊý¾Ý¿âÒýÇæ·ÃÎÊÔ¶³ÌÊý¾Ý¿âµÄ·½·¨¡£

¡¡¡¡ÓÃDAO·ÃÎÊÔ¶³ÌÊý¾Ý¿â¿ÉÒÔͨ¹ýÈý²½À´ÊµÏÖ£¬¼´Êý¾ÝÁ¬½Ó¡¢Êý¾Ý´¦ÀíºÍ¶Ï¿ªÁ¬½Ó¡£ÏÂÃæÖ÷Òª½éÉÜÊý¾ÝÁ¬½ÓºÍÊý¾Ý´¦ÀíµÄ¾ßÌå²Ù×÷¡£

¡¡¡¡Êý¾ÝÁ¬½Ó

¡¡¡¡DAOͨ¹ýÁ´½ÓÔ¶³Ì±íµÄ·½Ê½À´½øÐÐÊý¾ÝÁ¬½Ó¡£ÕâÑù£¬Êý¾ÝËäȻפÁôÔÚÔ¶³ÌÊý¾ÝÔ´ÉÏ£¬µ«ÔÚ±¾µØµÄÊý¾Ý¿âÖпÉÒÔ´æ´¢ÓëÔ¶³ÌÊý¾ÝµÄÓÀ¾ÃÐÔÁ¬½Ó£¬Í¬Ê±»º´æÁ´½ÓµÄ±í½á¹¹ÐÅÏ¢£¬´Ó¶øÔÚÏÂÒ»´Î·ÃÎʸñíʱ£¬ ²»ÓÃÔٴδӷþÎñÆ÷ÖмìË÷ÕâЩ½á¹¹ÐÅÏ¢£¬¼Ó¿ìÁËÁ¬½ÓËٶȡ£Ò»µ©Á´½ÓÁËÒ»¸ö±í£¬¸ÃÁ´½Ó±ã»á±£ÁôÔÚ¸÷»á»°Æڼ䣬ֱµ½Á¬½Ó¶Ï¿ª¡£Á´½ÓÔ¶³Ì±íµÄ¾ßÌå²Ù×÷ÊÇ£º

¡¡¡¡Óà OpenDatabase ·½·¨´ò¿ª½«Òª°üº¬¸ÃÁ´½ÓµÄ±¾µØÊý¾Ý¿â£¬Óà CreateTableDef ·½·¨ÔÚ¸ÃÊý¾Ý¿âÖд´½¨Ò»¸öеÄTableDef¶ÔÏ󣬽« TableDef ¶ÔÏóµÄ Connect ÊôÐÔÉèÖÃΪһ¸öºÏ·¨µÄÁ¬½Ó×Ö·û´®£¬±êʶҪ·ÃÎʵÄÔ¶³ÌÊý¾Ý¿âÀàÐÍ¡¢Êý¾ÝÎļþµÄ·¾¶ÒÔ¼°Óû§ÃûºÍÔ¶³ÌÊý¾ÝÔ´ÃÜÂëµÈ¡£½« TableDef ¶ÔÏóµÄ SourceTableName ÊôÐÔÉèÖÃΪԶ³ÌÊý¾Ý¿âÖÐÒª·ÃÎʵıíµÄÃû³Æ¡£ Ìí¼Ó TableDef ¶ÔÏóµ½ TableDefs ¼¯ºÏÖС£

¡¡¡¡ÊµÏÖÁ´½ÓÔ¶³Ì±í²Ù×÷µÄ´úÂëÈçÏ£º

¡¡¡¡Public Sub LinkTable(strDB As String, strRoDB As String, _

¡¡¡¡strCn As String, strTdf As String, linkTdfName As String)

¡¡ Dim linkTdf As New TableDef

¡¡ Set dbs = OpenDatabase(strDB)

¡¡ linkTdf.Name = linkTdfName¡¡100

¡¡ tempTable = UCase(linkTdf.Name)

¡¡ For i = 0 To dbs.TableDefs.Count - 1

¡¡¡¡¡¡ If UCase(dbs.TableDefs(i).Name) = tempTable Then

¡¡¡¡¡¡¡¡¡¡ If MsgBox(linkTdfName + " ÒÑ´æÔÚ£¬ÊÇ·ñɾ³ý £¿", _

¡¡¡¡¡¡¡¡¡¡ vbQuestion + vbYesNo) = vbYes Then

¡¡¡¡¡¡¡¡¡¡¡¡¡¡ dbs.TableDefs.Delete linkTdf.Name

¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Exit For

¡¡¡¡¡¡¡¡¡¡ Else: MsgBox "ÖØÐÂÊäÈëбíÃû"

¡¡¡¡¡¡¡¡¡¡ linkTdfName = InputBox(" бíÃû")

¡¡¡¡¡¡¡¡¡¡ GoTo 100

¡¡¡¡¡¡¡¡¡¡ End If

¡¡¡¡¡¡ End If

¡¡ Next i

Set linkTdf = dbs.CreateTableDef(linkTdfName)¡¡ 'Á´½ÓÔ¶³Ì±í

¡¡ linkTdf.Connect = ";database=" + strCn

¡¡ linkTdf.SourceTableName = strTdf

¡¡ dbs.TableDefs.Append linkTdf

End Sub

¡¡¡¡ÉÏÊö¹ý³ÌÓÃÀ´ÊµÏÖÔ¶³Ì±íµÄÁ¬½Ó£¬ËüÓÐ5¸ö²ÎÊý£¬ÆäÖÐstrRoDBÊÇÒª·ÃÎʵÄÔ¶³ÌÊý¾Ý¿âÃû£¨°üÀ¨Â·¾¶£©£»strTdf ÊǸÃÊý¾Ý¿âÖеıíÃû£»strDB ÊÇÒªÁ´½ÓµÄ±¾µØÊý¾Ý¿â£¨°üÀ¨Â·¾¶£©£»linkTdfName ÊDZ¾µØÊý¾Ý¿âµÄÒ»¸öбíÃû£¬ÓÃÀ´½¨Á¢Ô¶³Ì±íµÄÁ´½Ó£»strCn ÊÇÖ¸¶¨Á¬½ÓÐÅÏ¢µÄ×Ö·û´®¡£ÐèÒªÌرð×¢ÒâµÄÊÇ£¬³ýÁËÔÚ·ÃÎÊÔ¶³Ì Microsoft Jet Êý¾Ý¿âʱ£¬Á¬½Ó×Ö·û´®ÒªÒԷֺţ¨£»£©¿ªÍ·Í⣬ָ¶¨Á¬½ÓÐÅÏ¢µÄ×Ö·û´®¶¼±ØÐëÒÔËù·ÃÎʵÄÔ¶³ÌÊý¾Ý¿âÀàÐÍ¿ªÍ·¡£DAO¿ÉÒÔ·ÃÎʵÄÔ¶³ÌÊý¾ÝÔ´ÓÐÒÔÏÂÈýÀࣺ

¡¡¡¡Microsoft Jet Êý¾ÝÔ´£¬È磺Access Êý¾Ý¡£

¡¡¡¡IISAM£¨¿É°²×°µÄË÷Òý»¯Ë³Ðò·ÃÎÊ·½·¨£©¸ñʽÊý¾ÝÔ´£¬È磺FoxPro¡¢Paradox¡¢dBASE Êý¾Ý¡£

ODBC Êý¾ÝÔ´£¬È磺SQL Server Êý¾Ý¡¢Oracle Êý¾Ý¡£

¡¡¡¡ÀýÈ磺ÉèÍøÂç·þÎñÆ÷ÃûΪserver£¬¹²ÏíĿ¼Ϊ C:\Sales µÄ FoxProÊý¾Ý¿â£¬Á¬½Ó×Ö·û´®Ó¦ÎªstrCn="FoxPro3.0;database=\\server\c$\Sales\Region1"

¡¡¡¡´ËÍ⣬DAO ͨ¹ý Microsoft Jet Êý¾Ý¿âÒýÇæ·ÃÎÊÔ¶³ÌÊý¾Ýʱ£¬»¹¿ÉÒÔÓà OpenDatabase ·½·¨Ö±½Ó´ò¿ªÔ¶³Ì±í¡£ÔÚ±¾µØÊý¾Ý¿âÖв¢Î´´æ´¢ÓëÔ¶³ÌÊý¾ÝÔ´½¨Á¢Á¬½ÓËùÐèÒªµÄÐÅÏ¢¡£Èç¹ûʹÓÃÁ´½Ó·½Ê½·ÃÎÊÊý¾Ý£¬Ôò²»±ØÔÚÿ´Î»á»°¿ªÊ¼Ê±ÌṩÁ¬½ÓÐÅÏ¢£¬´Ó¶ø¿ÉÒÔÌá¸ßЧÂÊ¡£

¡¡¡¡Êý¾Ý´¦Àí

¡¡¡¡Êý¾ÝÁ¬½Ó½¨Á¢ºó£¬¿ÉÒÔÓà OpenRecordset ·½·¨´ò¿ªÒ»¸ö¼Ç¼¼¯£¬²¢¿ÉÓà DBGrid ¿Ø¼þºÍ Data ¿Ø¼þ·½±ãµØä¯ÀÀÕû¸ö¼Ç¼¼¯¡£Èç¹ûʹÓñíÀàÐÍ£¨Table-type£©¼Ç¼¶ÔÏó£¬Ôò¶ÔÓ¦µÄÊÇÒ»¸öʵ¼Ê´æÔÚµÄÊý¾Ý¿â±í£¬ÔÚ¶àÓû§»·¾³Ï£¬ÆäËüÓû§¶ÔÊý¾ÝµÄÐ޸ĻáÁ¢¼´·´Ó³µ½±íÖУ»Èç¹ûʹÓö¯Ì¬¼¯ÀàÐÍ£¨Dynaset-type£©¼Ç¼¶ÔÏó£¬Ôò¶ÔÓ¦µÄ¼È¿ÉÒÔÊÇÒ»¸ö±íÖÐÈ«²¿¼Ç¼£¬ÓÖ¿ÉÒÔÊÇÒ»¸ö²éѯµÄ½á¹û£¬²¢ÇÒ¿ÉÒÔ¸üмǼ¼¯ÖеļǼ£»Èç¹ûʹÓÿìÕÕÀàÐÍ£¨Snapshot-type£©¼Ç¼¶ÔÏó£¬Ôò¶ÔÓ¦µÄ¿ÉÒÔÊDZíÖеÄÈ«²¿¼Ç¼£¬Ò²¿ÉÒÔÊÇÒ»¸ö²éѯ½á¹û£¬µ«²»ÄܽøÐмǼµÄÔö¼Ó¡¢É¾³ýºÍÐ޸IJÙ×÷¡£´ËÍ⣬»¹¿ÉÒÔ½¨Á¢ÆäËüÀàÐ͵ļǼ¶ÔÏó£¬Èç½öÏòÇ°ÐÍ£¨ForwardOnly-type£©¼Ç¼¶ÔÏóºÍ¶¯Ì¬ÐÍ£¨Dynamic-type£©¼Ç¼¶ÔÏó¡£

¡¡¡¡ÏÂÃæÊÇ´ò¿ª¶¯Ì¬¼¯¼Ç¼¶ÔÏó²¢ÏÔʾ¼Ç¼µÄ´úÂ룺

Public Sub rst_display(strDB As String, strRst As String, strForm As Form)

¡¡ Set dbs = OpenDatabase(strDB)

¡¡ Set rst = dbs.OpenRecordset(strRst, dbOpenDynaset)

¡¡ strForm!Data1.DatabaseName = dbs.Name

¡¡ strForm!Data1.RecordSource = rst.Name

¡¡ strForm!Data1.Refresh

¡¡ strForm!DBGrid1.ReBind

End Sub

¡¡¡¡ÉÏÊö¹ý³ÌÓÐÈý¸ö²ÎÊý£¬ÆäÖÐ strDB ÓÃÀ´Ö¸¶¨±¾µØÊý¾Ý¿âÃû£¨°üÀ¨Â·¾¶£©£¬linkTdfName ÊÇÔÚ±¾µØÊý¾Ý¿âÖÐн¨µÄÁ´½ÓÔ¶³Ì±íµÄ±íÃû£¬strForm ÊÇÍø¸ñ¿Ø¼þºÍÊý¾Ý¿Ø¼þËùÔڵĴ°ÌåÃû¡£µ÷Óô˹ý³Ì¿ÉÒÔ»ùÓÚÐÂ±í½¨Á¢Ò»¸ö¶¯Ì¬¼¯ÀàÐ͵ļǼ¶ÔÏ󣬲¢¿ÉÔÚÍø¸ñÖÐä¯ÀÀ¸÷¸ö¼Ç¼¡£

¡¡¡¡¶Ï¿ªÁ¬½Ó¿ÉÒÔͨ¹ý¹Ø±ÕÓ¦ÓóÌÐò»òÉèÖÃÁ¬½Ó³¬Ê±À´ÊµÏÖ¡£×¢Ò⣺Èç¹û¶ÔÊý¾Ý¿â¶ÔÏóʹÓà Close·½·¨£¬ÔòÓÉÓÚÔÚ Miscrosoft Jet Êý¾Ý¿âÒýÇæÄÚ²¿»º´æÁËÁ¬½Ó£¬Êµ¼ÊÉÏÁ¬½Ó²¢Î´È¡Ïû¡£¡¡

¡¾·µ»Ø¶¥²¿¡¿ ¡¾´òÓ¡±¾Ò³¡¿ ¡¾¹Ø±Õ´°¿Ú¡¿

¹ØÓÚÎÒÃÇ / ¸øÎÒÁôÑÔ / °æȨ¾Ù±¨ / Òâ¼û½¨Òé / ÍøÕ¾±à³ÌQQȺ   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net ¼ÓÔØʱ¼ä 0.00431