/ / Gespeicherte Prozedur läuft im Hintergrund? - Excel, vba, excel-vba

Gespeicherte Prozedur läuft im Hintergrund? - Excel, VBA, Excel-VBA

Ich führe eine gespeicherte Prozedur aus, um Daten von a abzurufenServer, der ca. 10 - 15 Minuten dauert. Während der Ausführung der gespeicherten Prozedur friert meine Excel-Arbeitsmappe ein, bis alle Daten zurückgegeben wurden. Ich habe möglicherweise eine Option, um diese gespeicherte Prozedur im Hintergrund auszuführen, während die Excel-Arbeitsmappe funktionsfähig ist. Die Idee ist, dem Benutzer die Möglichkeit zu geben, in der Arbeitsmappe zu arbeiten, während Daten abgerufen werden, anstatt 10 - 15 Minuten zu warten, wenn nur das Arbeitsblatt betrachtet wird.

Meine Frage: Ich habe diese Idee noch nie in einer anderen Anwendung gesehen. Ich weiß nicht, ob dies einen Standard für bewährte Verfahren bedeutet. Wenn die Datenbank während der Arbeit in derselben Arbeitsmappe geladen wird und wenn die Daten abgeschlossen sind, wird der Benutzer darauf aufmerksam gemacht, dass alle Daten durchgelaufen sind.

Was denkt ihr? Glauben Sie, dass dies etwas anderes komplizieren könnte?

Ich mag die Idee nicht wirklich, aber der Benutzer würde nicht 10 - 15 Minuten verlieren.

Danke euch allen :)

Antworten:

0 für die Antwort № 1

Sie müssen eine Instanz von Excel erstellenAnwendung und führen Sie Ihre Sted-Prozedur dort aus. In diesem Fall steht Ihre Excel-Anwendung für den Benutzer weiterhin zur Verfügung. Ich erwarte jedoch, dass sie langsam ist. Sie müssen Ihren VBA-Code ändern und dann unter einer neuen Instanz der Excel-Anwendung ausführen:

dim xlApp as Excel.Application
set xlApp=New Excel.Application

Daher müssen Sie auch hier die Anwendung erwähnen, da Sie jetzt mehr als eine aktive Anwendung haben. So erstellen Sie beispielsweise eine neue Arbeitsmappe:

xlApp.Workbooks.Add

Ich denke, Sie können wahrscheinlich eine neue Instanz von öffnenExcel manuell, öffnen Sie dann Ihre Arbeitsmappe, die Ihren VBA-Code enthält, indem Sie OPEN auf der Registerkarte DATEI verwenden, und führen Sie dann den Code aus. In diesem Fall steht die Standard-Excel-Anwendung für den Benutzer zur Verfügung. Um eine neue Instanz von Excel zu öffnen, halten Sie die UMSCHALTTASTE gedrückt und klicken Sie auf das Symbol Ihrer Excel-Anwendung (in Ihrem Startmenü oder auf dem Desktop usw., wenn Sie nicht wissen, wo Sie sie finden können, gehen Sie einfach zum Windows-Startmenü und suchen nach EXCEL.)

Hoffe das hilft!