Hello!
I got two parts of code.
One part in a Module, and the other part behind a Form-Button as onClick-Event.
'Part 1 in a module
'-----------------------------------------------------------------
Option Compare Database
Option Explicit
'the open filename api
Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As gFILE) As Long
' the gFILE type needed by the open filename api
Type gFILE
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Function FileToOpen(Optional StartLookIn) As String
'Purpose: Calls the open file api to let the user select the file to open
'returns: string value which contains the path to the file selected. "" = no file seleted
Dim ofn As gFILE
Dim path As String
Dim filename As String
Dim a As String
StartOver:
ofn.lStructSize = Len(ofn)
ofn.lpstrFilter = "Text Files (*.txt)" _
+ Chr$(0) + "*.txt" + Chr$(0) + "All Files (*.*)" + Chr$(0) + "*.*" + Chr$(0)
ofn.lpstrFile = Space$(254)
ofn.nMaxFile = 255
ofn.lpstrFileTitle = Space$(254)
ofn.nMaxFileTitle = 255
If Not IsMissing(StartLookIn) Then
ofn.lpstrInitialDir = StartLookIn
Else
ofn.lpstrInitialDir = "c:\"
End If
ofn.lpstrTitle = "Please find and select the document to open"
ofn.flags = 0
a = GetOpenFileName(ofn)
If (a) Then
path = Trim(ofn.lpstrFile)
filename = Trim(ofn.lpstrFileTitle)
If Dir(path) <> "" Then FileToOpen = -1
FileToOpen = Trim(ofn.lpstrFile)
Else
FileToOpen = ""
path = ""
filename = ""
End If
FileToOpen = path
End Function
'-----------------------------------------------------------------
'Part 2 behind the Button
'-----------------------------------------------------------------
Private Sub Command50_Click()
Dim filename As String
filename = FileToOpen()
If (Len(filename)) Then
DoCmd.Hourglass True
DoCmd.TransferText acImportDelim, "ddpdychq", outstanding_cheques_report, filename, True
DoCmd.Hourglass False
End If
End Sub
'-----------------------------------------------------------------
After clicking the Button, Access throws out the error "Compile error: variable not defined" and marks me -outstanding_cheques_report- as eror in part2 that actually exists in the database as table.
(-filename- gives me the full path of the file 'C:\...\xxx.txt')
Now ..
What is my error?
Any help appreciated.
Greetings,
and thanks for reading,
...Nils
I got two parts of code.
One part in a Module, and the other part behind a Form-Button as onClick-Event.
'Part 1 in a module
'-----------------------------------------------------------------
Option Compare Database
Option Explicit
'the open filename api
Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As gFILE) As Long
' the gFILE type needed by the open filename api
Type gFILE
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Function FileToOpen(Optional StartLookIn) As String
'Purpose: Calls the open file api to let the user select the file to open
'returns: string value which contains the path to the file selected. "" = no file seleted
Dim ofn As gFILE
Dim path As String
Dim filename As String
Dim a As String
StartOver:
ofn.lStructSize = Len(ofn)
ofn.lpstrFilter = "Text Files (*.txt)" _
+ Chr$(0) + "*.txt" + Chr$(0) + "All Files (*.*)" + Chr$(0) + "*.*" + Chr$(0)
ofn.lpstrFile = Space$(254)
ofn.nMaxFile = 255
ofn.lpstrFileTitle = Space$(254)
ofn.nMaxFileTitle = 255
If Not IsMissing(StartLookIn) Then
ofn.lpstrInitialDir = StartLookIn
Else
ofn.lpstrInitialDir = "c:\"
End If
ofn.lpstrTitle = "Please find and select the document to open"
ofn.flags = 0
a = GetOpenFileName(ofn)
If (a) Then
path = Trim(ofn.lpstrFile)
filename = Trim(ofn.lpstrFileTitle)
If Dir(path) <> "" Then FileToOpen = -1
FileToOpen = Trim(ofn.lpstrFile)
Else
FileToOpen = ""
path = ""
filename = ""
End If
FileToOpen = path
End Function
'-----------------------------------------------------------------
'Part 2 behind the Button
'-----------------------------------------------------------------
Private Sub Command50_Click()
Dim filename As String
filename = FileToOpen()
If (Len(filename)) Then
DoCmd.Hourglass True
DoCmd.TransferText acImportDelim, "ddpdychq", outstanding_cheques_report, filename, True
DoCmd.Hourglass False
End If
End Sub
'-----------------------------------------------------------------
After clicking the Button, Access throws out the error "Compile error: variable not defined" and marks me -outstanding_cheques_report- as eror in part2 that actually exists in the database as table.
(-filename- gives me the full path of the file 'C:\...\xxx.txt')
Now ..
What is my error?
Any help appreciated.
Greetings,
and thanks for reading,
...Nils