Computerhilfen.de Logo
Forum
Tipps
News

Globale Variablen VB6

Hallo,

ich habe ein Problem mit VB6. Ich möchte in einer globalen Variable "SQL_STRING" etwas hineinschreiben, und diese Variable in einem zweiten Formular als Anweisung für eine SQL-Abfrage benutzen. Ich habe die Variable in einem Modul definiert (Public SQL_STRING as string) und fülle sie im Formular frmtest.frm mit einem SQL_String (klappt auch, per msgbox geprüft). Im zweiten Formular frmtabelle.frm will ich den SQL_String dann als Anweisung nutzen "con.execute(SQL_STRING)", zur Laufzeit gibt es dann aber immer die Fehlermeldung 71 Objektvariable nicht deklariert. Was mach ich falsch?


Antworten zu Globale Variablen VB6:

Ist "con" denn vernünftig deklariert?

Hier der relevante Quellcode:

ModulSQL.bas

   Public sql_string As String


frmTest.frm

   Private Sub cmdTabelle_Click()
   
        sql_string = "SELECT * FROM tbl_Stammdaten_Photovoltaik ORDER BY Kundennummer"
        frmTabelle.Tabelle_Fuellen
        frmTabelle.Caption = "Stammdaten Photovoltaik tabellarisch"
       frmTabelle.lblTitle.Caption = "Stammdaten Photovoltaik"
       frmTabelle.DataGridStammdaten.Caption = "Stammdaten Photovoltaik"
       frmTabelle.Show
        End Sub

frmTabelle.frm

   Option Explicit
    Dim con As Connection
    Dim rs As Recordset

   Private Sub Form_Load()

    Set con = New Connection
        con.CursorLocation = adUseClient
        con.Provider = "Microsoft.Jet.OLEDB.4.0"
   
        con.Open ("datenbank/eem.mdb")
   
   End Sub

   Public Sub Tabelle_Fuellen()

    Set rs = New Recordset
    Set rs = con.Execute(sql_string)
        rs.Requery
   
   Set DataGridStammdaten.DataSource = rs

End Sub

Die Fehlermeldung lautet, wenn ich in frmTest.frm auf "Drucken" klicke:

Laufzeitfehler '91':

Objektvariable oder With-Blockvariable nicht festgelegt, in der Zeile: Set rs = con.execute(sql_string)

Wo liegt der Fehler?


« VBAwarum muss man das noch angeben? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!