Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Aufruf von Makros

Aufruf von Makros
08.12.2006 15:47:46
Makros
Hallo,
Ich habe ein Problem. Ich will mittels eines Makros eine Datenbankabfrage machen und die werte dann grafisch darstellen. Habe über Buttons dies realisiert unter denen zum einen eine cmd Datei ist, die SQL startet und dann eine Spooldatei erzeugt und zum anderen diese Spool Datei importiert und als diagramm darstellt.
Nun muß ich aber die Datenbankabfrage zuerst ausführen und nachdem diese erfolgte, die Daten in Excel importieren. Dies soll beides über einen Button erfolgen.
Ist es möglich 2 Makros in einander zu schachteln? das zuerst Datenbankabfrage erfolgt und nachdem diese erfolgte die daten zu importieren?
gruß
saphira

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aufruf von Makros
08.12.2006 17:11:45
Makros
Hallo saphira,
alá Radio Eriwan: Im Prinzip ja.
Die 2 Makros zu schachteln respektive nacheinander von einem Button aus zu starten ist kein Problem.
Das Problem ist, Excel muss solange mit der Ausführung des Imports der Spooldatei warten bis SQL die Spooldatei fertig gestellt hat.
Falls die Spooldatei erfahrungsgemäß immer innerhalb weniger Sekunden erstellt ist, dann kann man z.B. mit OnTime 10 Sekunden nach dem Start von SQL den Import starten.
Falls die Zeit für die Bearbeitung der SQL-Abfrage sehr lang ist oder stark variiert, dann muß man in der Import-Prozedur eine Prüfung einbauen, ob die Spooldatei schon existiert und per OnTime die Prozdur mehrfach aufrufen.
Prozeduren schauen dann etwa wie folgt aus, wobei ich mir nicht sicher bin, ob die Dir-Methode an dieser Stelle zu Prüfung ausreicht.
Gruß
Franz

Code für Button:
Private Sub CommandButton1_Click()
Call SQL_Prozedur
'Application.OnTime earliesttime:=Now + 10 / 24 / 3600, Procedure:="Import_Prozedur"
Application.OnTime earliesttime:=Now + 10 / 24 / 3600, Procedure:="Import_Prozedur2"
End Sub
Code in einem Modul:
Dim Notausgang As Integer
Sub SQL_Prozedur()
End Sub
Sub Import_Prozedur()
MsgBox "Import läuft" 'Testzeile
End Sub
Sub Import_Prozedur2()
Spooldatei = "C:\Lokale Daten\Test\Mappe1.xls"
If Dir(Spooldatei) = "" Then
Notausgang = Notausgang + 1
If Notausgang > 5 Then
MsgBox "Import wurde " & Notausgang & " mal erfolglos aufgerufen!"
Notausgang = 0
Else
Application.OnTime earliesttime:=Now + 10 / 24 / 3600, Procedure:="Import_Prozedur2"
Exit Sub
End If
Else
Notausgang = 0
'Code für Import
MsgBox "Import läuft" 'Testzeile
End If
End Sub

Anzeige
AW: Aufruf von Makros
08.12.2006 17:21:02
Makros
Hallo Saphira,
wo genau liegt das Problem?
Das 2. Makro kannst du im 1. Makro aufrufen - durch Hinschreiben des Namens der Prozedur.
Liegt das Problem vielleicht darin, dass dann Makro 2 schon läuft, bevor die Erstellung der neuen Spooldatei abgeschlossen ist?
Wie startest du die cmd-Datei (z. B. mit Shell oder AppActivate)?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige