2014-03-31 102 views
0

另一個問題就是在Access中自動導出。 我使用數據庫爲虛擬航空公司創建時間表。Access 2010如何:VBA導出

要導入這些時間表到我的網站它必須採用以下格式:

CODE,FLTNR,離場,進場等

現在我知道如何導出這樣,但我希望它是通過腳本或宏自動的,所以我可以在交換臺內使用它。

現在我已經找到了很多信息,但沒有明白我的理解。

這裏的任何幫助將appriciated。

請問候,

裏克·溫克爾曼

回答

0

你需要什麼類型的文件?我把下面的VB腳本結束從查詢/表創建一個.csv:

DoCmd.TransferText acExportDelim, [source query], "target.csv" 
0

可以使用OnTimer事件來啓動其他導出數據VBA代碼。這是一個基於表單的事件,您可以將其設置爲以任意時間間隔啓動。

可能將其設置爲每24小時啓動一次,但這並不總是安全的。通常,我將它設置爲每15分鐘啓動一次,並檢查系統時間。如果系統時間> = = 7:45 PM和< 8PM,我告訴它運行VBA代碼。

下面是我使用的OnTimer事件,以及它調用的2個函數。將窗體的計時器間隔設置爲900000(15分鐘)並將窗體保持打開狀態。

Private Sub Form_Timer() 

Select Case True 

    Case (Format(Now(), "short time") >= "04:45") And (Format(Now(), "short time") < "05:00") 
     Forms!frmPrimary!dtMAINFRAME = "4:45" 

     Call Cleanup 

    Case (Format(Now(), "short time") >= "07:45") And (Format(Now(), "short time") < "08:00") 
     Forms!frmPrimary!dtMAINFRAME = "7:45" 

     Call chkforweekend 

End Select 
DoEvents 

End Sub 

chkforweekend功能:

Public Function chkforweekend() 

chkforweekend = True 
day = Date 

sDate = Weekday(day, vbSunday) 

If sDate <> 1 Or sDate <> 7 Then 
    chkforwekend = False 
End If 

End Function 

清理功能:

Public Function Cleanup() 

Forms!frmPrimary!lblStatus.Caption = "Cleaning up my mess..." 
DoEvents 

ReturnCode = utl_DisconnectSession 
ReturnCode = utl_StopSession 

fCloseApp ("com.ibm.eNetwork.HOD.SessionFrame") 
Call Sleeper(3000) 
fCloseApp ("com.ibm.eNetwork.HOD.SessionFrame") 
Call Sleeper(3000) 
fCloseApp ("javax.swing.JFrame") 

Forms!frmPrimary!lblStatus.Caption = "status" 
Forms!frmPrimary!lblStatus.Visible = False 
DoEvents 

NewEECountsRun = False 
NewMraRptRun = False 
NewBATT = False 
NewC_STE_PRun = False 
NewCEDMBRCNT9_PRun = False 
NewWklyMbrRptRun = False 
CaseListRun = False 

End Function