AccessÖÐÀûÓòð·Öºó¶ËÊý¾Ý¿â±£´æ²»Í¬Êý¾Ý

¡¶AccessÖÐÀûÓòð·Öºó¶ËÊý¾Ý¿â±£´æ²»Í¬Êý¾Ý¡·ÕªÒª£º AccessÖÐÀûÓòð·Öºó¶ËÊý¾Ý¿â±£´æ²»Í¬Êý¾Ý ÃæÏò :³õѧÕß¡£ Ä¿µÄ :Èç¹ûÒ»ÄêµÄÊý¾Ý½Ï¶à,Ï£ÍûÔÚ·ÖÄêµÄÊý¾Ý¿âÖб£´æÊý¾Ý¡£ ֪ʶµã : 1.Êý¾Ý¿â²ð·Ö¡£ 2.Îļþ²éÕÒ¼¼Êõ¡£ 3.Îļþ¸´ÖÆ¡£ 4.Á´½Ó±íµÄˢС¡­

AccessÖÐÀûÓòð·Öºó¶ËÊý¾Ý¿â±£´æ²»Í¬Êý¾Ý

ÃæÏò:³õѧÕß¡£

Ä¿µÄ:Èç¹ûÒ»ÄêµÄÊý¾Ý½Ï¶à,Ï£ÍûÔÚ·ÖÄêµÄÊý¾Ý¿âÖб£´æÊý¾Ý¡£

֪ʶµã:

1.Êý¾Ý¿â²ð·Ö¡£

2.Îļþ²éÕÒ¼¼Êõ¡£

3.Îļþ¸´ÖÆ¡£

4.Á´½Ó±íµÄˢС£

²½Öè:

1.½«Ò»Ð©Ã¿Ä궼ҪʹÓÃ(ÐÞ¸Ä,Ìí¼ÓµÈ)µÄ±íµÄÃû³ÆÇ°Á½¸ö×Öĸ¸ÄΪ¹²Í¬µÄ(Èç:Or_ÒµÎñÈËÔ±Ãûµ¥,Or_ÊÕ»õÈËÃûµ¥µÈ),×¢Òâ²»ÒªÊÇ“MS”,“SW”,“US”µÈϵͳҪʹÓõÄ×Öĸ¡£

2.½«Êý¾Ý¿â²ð·Ö(¼ÙÈçǰ¶ËÃû³ÆÎª:³ö¿ÚÒµÎñ¼Ç¼.mdb,ºó¶ËÃû³ÆÎª:³ö¿ÚÒµÎñ¼Ç¼_dataOrigin.mdb¡£

3.ÔÚÆô¶¯´°Ìå(¼ÙÈçÃû³ÆÎª:´°Ìå1)Öн¨Á¢Ò»Îı¾¿ò(¼ÙÈçÃû³ÆÎª:ËùÊôÄê·Ý)¡£

4.ÔÚ´°Ìå1µÄOpenʼþºÍËùÊôÄê·ÝµÄAfterUpdateʼþÖе÷ÓÃÏÂÃæµÄ“²éÕÒÎļþ”¹ý³Ì¡£  

Public Sub Á´½Ó() 


On Error GoTo LJ_error 

Dim TABNAME As String 

Dim Tab1 As TableDef 

Dim MyPath As String 


MyPath = Application.CurrentProject.Path 

CurrentDb.TableDefs.Refresh'ˢе±Ç°Êý¾Ý¿âÖеıí¶ÔÏó 

If CurrentDb.TableDefs(15).Connect = ";

DATABASE=" & MyPath & "\³ö¿ÚÒµÎñ¼Ç¼_data" &

 FORMs!´°Ìå1!ËùÊôÄê·Ý & ".mdb" Then 

Exit Sub 

Else 

For Each Tab1 In CurrentDb.TableDefs

TABNAME = Tab1.Name 

If Left(TABNAME, 2) <> "MS" And Left(TABNAME, 2) 

<> "SW" And Left(TABNAME, 2) <> "Us" Then 

If Left(TABNAME, 2) = "Or" Then 

Tab1.Connect = ";DATABASE=" & MyPath & 

"\³ö¿ÚÒµÎñ¼Ç¼_dataOrigin.mdb" 

Else 

Tab1.Connect = ";DATABASE=" & MyPath & 

"\³ö¿ÚÒµÎñ¼Ç¼_data" & FORMs!´°Ìå1!ËùÊôÄê·Ý & ".mdb" 

End If 

Tab1.RefreshLink 

End If 

Next Tab1 

MsgBox FORMs!´°Ìå1!ËùÊôÄê·Ý & "ÄêµÄ»ù´¡Êý¾Ý¿âÁ¬½Ó³É¹¦!" 

End If 

Exit_LJ_error: 

Exit Sub 

LJ_error: 

MsgBox FORMs!´°Ìå1!ËùÊôÄê·Ý & "ÄêµÄºó¶ËÊý¾Ý¿âÎļþ²»´æÔÚ!" 

Resume Exit_LJ_error 

End Sub 

Public Sub ²éÕÒÎļþ() 

Dim MyPath As String 

Dim fs As Variant 

Dim TABNAME As String 

Dim Tab1 As TableDef 

MyPath = Application.CurrentProject.Path 

Set fs = Application.FileSearch 

With fs 

.LookIn = MyPath 

.SearchSubFolders = True 

.Filename = "³ö¿ÚÒµÎñ¼Ç¼_data" & FORMs!´°Ìå1!ËùÊôÄê·Ý & ".mdb" 

If .Execute() <= 0 Then 

If MsgBox("ûÓÐ" & FORMs!´°Ìå1!ËùÊôÄê·Ý & 

"ÄêµÄÊý¾Ý¿â,ÊÇ·ñÒª´´½¨Ò»¸ö?", vbYesNo) = vbYes Then 

FORMs!´°Ìå1.FORM!°æ±¾.FORM.RecordSource = "" 

FileCopy MyPath & "\³ö¿ÚÒµÎñ¼Ç¼_dataOrigin.mdb", 

MyPath & "\³ö¿ÚÒµÎñ¼Ç¼_data" & FORMs!´°Ìå1!ËùÊôÄê·Ý & ".mdb" 

Else 

FORMs!´°Ìå1!ËùÊôÄê·Ý = Year(Now()) 

MsgBox "ûÓÐ" & FORMs!´°Ìå1!ËùÊôÄê·Ý & "ÄêµÄÊý¾Ý¿â!" 

Exit Sub 

End If 

End If 

End With 

Á´½Ó 

End Sub

5.ÔÚ´°Ìå1µÄCloseʼþÖÐд:  

Private Sub FORM_Close() 

Dim TABNAME As String 

Dim Tab1 As TableDef 

Dim MyPath As String 

MyPath = Application.CurrentProject.Path 

CurrentDb.TableDefs.Refresh'ˢе±Ç°Êý¾Ý¿âÖеıí¶ÔÏó 

If CurrentDb.TableDefs(15).Connect = ";

DATABASE=" & MyPath & "\³ö¿ÚÒµÎñ¼Ç¼_data" & Year(Now()) & ".mdb" Then 

Exit Sub 

Else 

For Each Tab1 In CurrentDb.TableDefs

TABNAME = Tab1.Name 

If Left(TABNAME, 2) <> "MS" And Left(TABNAME, 2) 

<> "SW" And Left(TABNAME, 2) <> "Us" Then 

If Left(TABNAME, 2) = "Or" Then 

Tab1.Connect = ";DATABASE=" & MyPath & 

"\³ö¿ÚÒµÎñ¼Ç¼_dataOrigin.mdb" 

Else 

Tab1.Connect = ";DATABASE=" & MyPath & 

"\³ö¿ÚÒµÎñ¼Ç¼_data" & Year(Now()) & ".mdb" 

End If 

Tab1.RefreshLink 

End If 

Next Tab1 

End If 

End Sub

×¢Ò⣺´°ÌåÒ»×îºÃÊÇûÓÐÈκΰ󶨿ؼþµÄÇл»Ãæ°å£¬Èç¹ûÓÐÕâÑùµÄ¿Ø¼þ£¬ÔÚ¸ü¸ÄÁ´½Ó±íconnectÊôÐÔºÍFileCopy֮ǰҪÉèÖÃÕâЩ¿Ø¼þµÄËùÓÐ***Source(ÈçRcordSource,RowSourceµÈ)=“”£¬Íê³ÉÏà¹ØÓï¾äºóÔÙÉèÖóÉÔ­À´µÄÖµ¡£

ÄãµÄλÖ㺵çÄÔ¹ÊÕÏÍø >> Êý¾Ý¿â >> Access >> AccessÖÐÀûÓòð·Öºó¶ËÊý¾Ý¿â±£´æ²»Í¬Êý¾Ý