Problem beim Übergeben von Werten (Formular/Modul)

Hiho,

ich habe ein Formular, in welches ich Werte eingeben kann.
(suchname_alt und suchname_neu)

Diese Struktur kann ich nicht verändern, jedoch möchte ich gerne aus diesem Formular mit der Funktion Public Sub Umhängen_Click() die beiden werte an ein Modul übergeben… wo und wie muss ich die Variable deklarieren um mit ihr zu arbeiten? Stehe grade etwas auf dem schlauch

Hier der Formularaufbau
[PHP]Option Compare Database

Sub Form_Open(Cancel As Integer)
Me.suchname_alt = „“
Me.suchname_neu = „“
Me.FilterOn = False
Me.Filter = „“
End Sub

Sub suchname_alt_AfterUpdate()
Form_doubletten_umhaengen.Filter = „((Adressen.SuchName=“"" & Me.suchname_alt & „“"))"
Form_doubletten_umhaengen.FilterOn = True
DoCmd.GoToRecord , , acFirst
End Sub

Public Sub Umhängen_Click()
On Error GoTo Err_Umhängen_Click

Call Doubletten_umhaengen_aktivitaeten_kontakte(Me.suchname_alt, Me.suchname_neu)

Exit_Umhängen_Click:
Exit Sub

Err_Umhängen_Click:
MsgBox Err.Description
Resume Exit_Umhängen_Click

End Sub
[/PHP]Hier mein Modul
[PHP]Option Compare Database

Sub Doubletten_umhaengen_aktivitaeten_kontakte(suchname_alt, suchname_neu)
DoCmd.RunSQL „UPDATE Kontakte SET Kontakte.SuchName = suchname_neu WHERE Kontakte.SuchName = suchname_alt;“
DoCmd.RunSQL „UPDATE Aktivitäten SET Aktivitäten.SuchName = suchname_neu WHERE Aktivitäten.SuchName = suchname_alt;“
End Sub
[/PHP]

http://www.pg-forum.de/programmierung/3992-access-pr…

[php]braucht nicht beachtet zu werden. ist aus dem untenstehenden Forum der Quellcode!!!

Hallo,

ich habe ein Formular, in welches ich Werte eingeben kann.
(suchname_alt und suchname_neu)

Diese Struktur kann ich nicht verändern, jedoch möchte ich
gerne aus diesem Formular mit der Funktion Public Sub
Umhängen_Click() die beiden werte an ein Modul übergeben…
wo und wie muss ich die Variable deklarieren um mit ihr zu
arbeiten? Stehe grade etwas auf dem schlauch

Versteh ich nicht… Ein Modul ist lediglich ein Kontainer für Prozeduren…

Vermutlich willst Du die Form-Textfeld-Werte an die Prozedur:
„Doubletten_umhaengen_aktivitaeten_kontakte“ übergeben. Das machst Du aber ja schon.

Call Doubletten_umhaengen_aktivitaeten_kontakte(Me.suchname_alt,
Me.suchname_neu)

Option Compare Database

Sub Doubletten_umhaengen_aktivitaeten_kontakte(suchname_alt,
suchname_neu)
DoCmd.RunSQL „UPDATE Kontakte SET Kontakte.SuchName =
suchname_neu WHERE Kontakte.SuchName = suchname_alt;“

Das kann allerdings nicht funktionieren. Der Variablenname kann nicht Teil eines SQL-Staements sein und es muß so heißen:

DoCmd.RunSQL „UPDATE Kontakte SET Kontakte.SuchName =’“ &
suchname_neu & „’ WHERE Kontakte.SuchName = '“ & suchname_alt & „’“

unter der Annahme, dass „Kontakte.SuchName“ in der Tabelle vom Datentyp Text ist. In diesem Fall kann auf eine Prüfung der Variant-Variablen auf „Null-Wert“ verzichtet werden.

Wozu noch die zweite Aktualisierungsabfrage?

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

End Sub

Hey, klasse!

Wusste nicht das ich die Variable so (’" & suchname_neu & "’) ansprechen muss…

Hat funktioniert alles wunderbar… vielen dank!