How to connect VB to MySQL

Arvin

I'm liv'in the dream ....
Local time
Yesterday, 17:19
Joined
Jul 22, 2008
Messages
192
Hello,

I have a date range form that has Start Date, End Date and Preview Report command button. In the OnClick Event Prod I have
Dim strDateField As String in my code that should connect to a MySQL Db, to a table that stores the UPDATED Date. The problem is I can't seem to get the form to work ....

here is my code

Code:
Private Sub cmdPreview_Click()
On Error GoTo Err_Handler      'Remove the single quote from start of this line once you have it working.
    'Purpose:       Filter a report to a date range.
    'Note:          Filter uses "less than the next day" in case the field has a time component.
    Dim strReport As String
    [COLOR=red][B]Dim strDateField As String[/B][/COLOR]
    Dim strWhere As String
    Dim lngView As Long
    Const strcJetDate = "\#mm\/dd\/yyyy\#"  'Do NOT change it to match your local settings.
 
    'DO set the values in the next 3 lines.
    strReport = "QryDetailsVariable_Crosstab1"      'Put your report name in these quotes.
    [B][COLOR=red]strDateField = "[UPDATED]"[/COLOR][/B] 'Put your field name in the square brackets in these quotes.
    lngView = acViewPreview     'Use acViewNormal to print instead of preview.
 
    'Build the filter string.
    If IsDate(Me.txtStartDate) Then
        strWhere = "(" & strDateField & " >= " & Format(Me.txtStartDate, strcJetDate) & ")"
    End If
    If IsDate(Me.txtEndDate) Then
        If strWhere <> vbNullString Then
            strWhere = strWhere & " AND "
        End If
        strWhere = strWhere & "(" & strDateField & " < " & Format(Me.txtEndDate + 1, strcJetDate) & ")"
    End If
 
    'Close the report if already open: otherwise it won't filter properly.
    If CurrentProject.AllReports(strReport).IsLoaded Then
        DoCmd.Close acReport, strReport
    End If
 
    'Open the report.
    Debug.Print strWhere        'Remove the single quote from the start of this line for debugging purposes.
    DoCmd.OpenReport strReport, lngView, , strWhere
Exit_Handler:
    Exit Sub
Err_Handler:
    If Err.Number <> 2501 Then
        MsgBox "Error " & Err.Number & ": " & Err.Description, vbExclamation, "Cannot open report"
    End If
    Resume Exit_Handler
End Sub


*****Additional Points******

The form is unbound, however the query that the report comes from has UPDATED in the recordsource

UPDATE is a column/field in a MySQL table that is linked via OBDC

Also, I have posted this in the Forms section, I apologize for that, I didn't realize there was a VBA section also :)
Any help is appreciated

Thank you in advance
 
Does it throw an error? If so then which one? If not, what does it do?
 
Yes, I do get an error

Error 3070: The Microsoft Access database engine does not recognize '[UPDATED]' as a vaild field name or expression.
 
Can you post the SQL for the RecordSource of the Report?
 
I assume the line it halts on is:
DoCmd.OpenReport strReport, lngView, , strWhere
...correct?
 
The line it halts on is

strDateField = "[UPDATED]"
 
Now I understand your first post! That does not make any sense by the way. You are simply setting the strDateField string variable to a value. It has nothing to do with a table yet.
 
What version of Access are you using? Maybe there is some corruption in the form. Have you done a Compact and Repair yet?
 
I Have Access 2007 ...and no I have not done a compact or repair ...
 

Users who are viewing this thread

Back
Top Bottom