Announcement

Collapse
No announcement yet.

SQL-Statement per VBA an Datenbank senden und Status prüfen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL-Statement per VBA an Datenbank senden und Status prüfen

    Hallo,

    ich habe ein VBA Script, welches eine Datenbankverbindung aufbaut, ein SQL-Statement an die Datenbank schickt und anschliesend die Datenbankverbindung trennt.

    Das Skript funktioniert auch wunderbar aber ich schicke an die Datenbank ein SQL-Statement mit einer schleife welche etwas länger zur Ausführung braucht.

    Nun habe ich ein Formular mit einer ProgressBar die für jeden Schritt gefüllt wird, was ja auch funktioniert für die Funktionen die Clientseitig ausgeführt werden aber, und jetzt meine Frage, kann ich den aktuellen Status der Datenbankabfrage abfragen?

    Also damit der User sieht ob sich Excel aufgehangen hat oder noch etwas macht?

    Am besten wäre es, wenn ich in meiner Schleife der Datenbankabfrage ein print einbauen würde, welches mir einen Counter hoch zählt und das Ergebnis dieses prints in Excel zurück gibt, so, dass es weiter verarbeitet werden kann und ich mit diesem Counter die ProgressBar füllen kann.

    Ich hoffe ich habe mein Problem gut beschrieben und mir kann jemand weiter helfen. Falls ich was vergessen haben sollte oder etwas unklar ist dann reiche ich es gerne noch nach.

    Code:
    'Schickt das übergebene SQL-Statement an die Datenbank
    Function executeSql(sqlString As String) As ADODB.Recordset
    
        On Error GoTo execute_err_end:
       
        'Setzt ein Recordset für das Ergebnis der Abfrage
        Set executeSql = New ADODB.Recordset
       
        'Setzt die Lokation auf welcher die Abfrage ausgeführt werden soll
        executeSql.CursorLocation = adUseClient
       
        'Sendet das SQL-Statement an die bereits geöffnete Connection und schreibt sie in das Recordset
        executeSql.Open sqlString, conn, adOpenDynamic
        'Debug.Print (sqlString & Chr(10))
       
        Exit Function
    
    execute_err_end:
        Debug.Print ("___________________________________")
        Debug.Print ("Datenbankfehler!")
        Debug.Print (sqlString)
        Debug.Print (Err.Description)
        Debug.Print ("___________________________________")
        Err.Clear
    
    End Function
    Vielen Dank schonmal im Vorraus

  • #2
    Kann mir denn keiner helfen?
    Iwi ist das komisch!
    Wenn ich etwas suche und in Foren gucke und was dazu finde, dann kamen dort die Antworten spätestens nach zwei Tagen aber immer wenn ich selber etwas poste dann kann mir das nie jemand beantworten!
    Dabei beschreibe ich doch immer alles so ausführlich. :cry:
    Wenn jemand meinen Thread nicht versteht dann fragt doch bitte einfach nochmal nach! Irgendjemand muss doch etwas wissen! :-)

    Comment

    Working...
    X