role999
Goto Top

MS-Access: Ausführen von Ereignisprozeduren durch Formularschaltflächen

Hallo Community,

ich bitte um Unterstützung bei der Lösung folgender Aufgabe. Vorneweg muss ich leider schicken, dass ich keinerlei Kenntnisse von VBA habe und den Stand meiner "Entwicklung" hauptsächlich durch Recherche in Forenbeiträgen und durch Unterstützung von Wissenden erreicht habe.

Über meine Acess-Datenbank frage ich per ODBC-Schnittstelle Daten aus einer MS-SQL-Datenbank ab.

Ich möchte durch zwei Formularschaltflächen zwei unterschiedliche Abfragen (Zeichnungen_Bestellung und Zeichnungen_Anfrage) einer MS-SQL-DB starten, die das Abfrageergebnis in eine Textdatei schreiben. Mit der ersten Schaltfläche Zeichnungen_Bestellung funktioniert dies auch einwandfrei und sieht folgendermaßen aus:

2022-09-17_01h32_20

Die Ereignisprozedur sieht folgendermaßen aus:

Option Compare Database
Option Explicit

Private Sub Befehl73_Click()  ' Source.txt Datei mit Zeichnungen einer Bestellung erstellen  

Dim fileName As String
Dim rs As Recordset
Dim db As Database
Dim queryName As String
Dim f As Field
Dim MyValue1 As String

Dim Message, Title, Default, MyValue
Message = "Bitte Bestellnummer eingeben:"    ' Set prompt  
Title = "InputBox"    ' Set title.  
Default = ""    ' Set default  

MyValue1 = InputBox(Message, Title, Default)

queryName = "SELECT DISTINCT dbo_BESTELLUNGPOS.ZEICHNUNG FROM dbo_BESTELLUNGPOS WHERE dbo_BESTELLUNGPOS.BESTELLUNG Like '" & MyValue1 & "'"  
fileName = "c:\Users\slro\!slro\miro\Zeichnungen\Source.txt"  
Set db = CurrentDb
Set rs = db.OpenRecordset(queryName)

Open fileName For Output As #1

'Print #1, "     ";  
'For Each f In rs.Fields  
'Print #1, vbTab & f.Name;  
'Print #1, f.Name;  
'Next f  
'Print #1,  
Do While Not rs.EOF
'Print #1, Format(rs.AbsolutePosition + 1, "00000");  
For Each f In rs.Fields////
'Print #1, vbTab & f.Value;  
Print #1, f.Value;
Next f
Print #1,
rs.MoveNext
Loop

Close #1

End Sub

Private Sub Zeichnungen_Anfrage_Click()

End Sub

Ich benötige eine zweite Schaltfläche für die Abfrage der Zeichnungen für Anfragen. Hierzu habe ich die Schaltfläche Zeichnungen_Bestellung kopiert und die Ereignisprozedur angepasst, siehe Screenshot. Daraufhin funktionierte die Schaltfläche Zeichnungen_Bestellung nicht mehr, da die Schaltfläche Zeichnungen_Anfrage anscheinend auf die selbe Ereignisprozedur zugreift.

Wie kann ich es erreichen, dass ich jeder Schaltfläche eine eigene Ereignisprozedur hinterlegen kann?

Vielen Dank für die Unterstützung.
Roland

Content-Key: 3965982956

Url: https://administrator.de/contentid/3965982956

Printed on: April 26, 2024 at 05:04 o'clock

Mitglied: 3803037559
Solution 3803037559 Sep 17, 2022 updated at 07:40:20 (UTC)
Goto Top
Wie kann ich es erreichen, dass ich jeder Schaltfläche eine eigene Ereignisprozedur hinterlegen kann?
Indem du die Schaltfläche umbenennst (einen neuen Namen vergibst) und dann das Feld Ereignisprozedur kurz leer machst und dann erneut auswählst, dann erstellt Access eine neue Prozedur mit dem Name n der neuen Schaltfläche und verknüpft die Schaltfläche damit.

Cheers
Certguy
Member: Role999
Solution Role999 Sep 19, 2022 at 11:28:03 (UTC)
Goto Top
Hallo Certguy,

vielen Dank für Deine Rückmeldung. Ich hab's hinbekommen.

Viele Grüße
Role