PDA

Vollständige Version anzeigen : bestimmten Datensatz raussuchen und teilweise erneuern?


Joggi
13.08.2001, 07:57
Hallo zusammen,
ich habe mal wieder ein Problem!

Ich habe ein Formular "Zuordnung-Eingabe" welches auf die tabelle "Zuordnung" zugreift.

Jetzt möchte ich, dass der Wert im Feld "Einstellung_datum"in eine andere Tabelle "Interviewbogen" eingetragen wird.

Der Verküpfungswert zwischen den 2 Tabellen steht in der Zuordnung unter "interviewbogen_ID"

Ich habe mal was probiert komme aber nicht weiter!


Dim Rst As DAO.Recordset
Dim ZD As DAO.Recordset
Dim DB As DAO.Database

Set DB = CurrentDb()
Set Rst = CurrentDb.OpenRecordset("Interviewbogen")

Set ZD = CurrentDb.OpenRecordset
("SELECT Interviewbogen.[Eingestellt], Interviewbogen.[Eingestellt am] FROM interviewbogen WHERE (((Interviewbogen.ID)=Me!interviewbogen_ID));")

Rst.Edit
Rst!Eingestellt = "ja"
Rst!Einstellung_datum = Me!Einstellung_datum
Rst.Update

Rst.Close
ZD.Close


leider geht dieser Versuch nicht!

Kann mir jemand helfen?

mfg Joggi

Birgit Dannenberg
13.08.2001, 09:17
Wäre schön, wenn Du gesagt hättest was genau nicht klappt bzw. was passiert, welche Fehlermeldung kommt.

So fällt mir nur auf, daß Du mit ZD gar nicht arbeitest. Ich denke es müßte heißen: ZD.Edit etc..., dann wäre rst überflüssig.

hth Birgit

Phillip-Berlin
13.08.2001, 09:24
Dim strDatum as string
StrDatum = me.txtDatum

DoCmd.RunSQL "UPDATE Interviewbogen SET Interviewbogen.EinstellungDatum = ('" & strDatum & "') WHERE Kennummer = Forms!Zuordnun-Eingabe!interviewbogen_ID;"


hab es zum verständis etwas angepasst
schau dir mal UPDATE in der access hilfe an

Joggi
13.08.2001, 11:07
Hallo Philip und Stema,

vielen Dank

Deins Philip funktioniert! Super!

Leider ist mir aufgefallen, dass dieses Formular Zuordung-Eingabe in einem anderen Formular ist!

Somit ist es nun ein Unterformular und dann geht es nicht mehr!


Wie kann ich die ME! Anweisung auf ein Unterformular anwenden?

Bei Dir Stema kommt immer eine Fehlermeldung!


Too few papameters expected 1

LZF 3061

hier nochmals der Code


Vielen Dank im voraus!

Dein Code stema wäre mir lieber,da man hier besser und übersichtlicher mehrere Felder füllen kann!

MFG Joggi


Dim ZD As DAO.Recordset
Dim DB As DAO.Database

Set DB = CurrentDb()

Set ZD = CurrentDb.OpenRecordset("SELECT Interviewbogen.[Eingestellt], Interviewbogen.[Eingestellt am] FROM interviewbogen WHERE (Interviewbogen.ID=Me![interviewbogen_ID]);")

ZD.Edit
ZD!Eingestellt = "Ja"
ZD!Einstellung_datum = Me!Einstellung_datum
ZD.Update

ZD.Close

Phillip-Berlin
13.08.2001, 11:59
so:

Kennummer = Forms!Zuordnung-Eingabe!Unterformular!interviewbogen_ID

Stema
13.08.2001, 12:13
Ja sag mal Joggi, ich habe auf diesen Beitrag bisher doch noch gar nicht geantwortet. Wieso dankst Du mir? Und warum läuft mein Lösungsversuch nicht?

Egal: Mir ist folgendes aufgefallen:
Set ZD = CurrentDb.OpenRecordset
("SELECT Interviewbogen.[Eingestellt], Interviewbogen.[Eingestellt am] FROM interviewbogen WHERE (((Interviewbogen.ID)=Me!interviewbogen_ID));")

Das kann nicht funktionieren, da Me!interviewbogen_ID ein Objekt in Deinem Formular ist, also:
("SELECT Interviewbogen.[Eingestellt], Interviewbogen.[Eingestellt am] FROM interviewbogen WHERE Interviewbogen.ID='" & Me!interviewbogen_ID & "';") solte funktionieren.

Joggi
13.08.2001, 15:17
Hallo Phillip, Stema und Birgit!

Sorry Birgit, hatte Dich irgendwie verwechselt! Stema war keine Absicht !

Aber an alle es läuft immer noch nicht!!!!!!!!!!!!!!!!!!!!!!!!!!


Bei der Version Transfer_Click

will er Parameter von

Formulare!Bewerber.....

und bei Transfer2_ click

schreibt er data type mismatch in criteria expression


und zeigt auf die Selektanweisung


grübel

joggi


Private Sub tranfer2_Click()
'---------------------------------------------------------
'----------------Daten in die Tabelle Interviewbogen übertragen Version 2
'---------------------------------------------------------
Dim ZD As DAO.Recordset
Dim DB As DAO.Database

Set DB = CurrentDb()

Set ZD = CurrentDb.OpenRecordset("SELECT Interviewbogen.[Eingestellt], Interviewbogen.[Eingestellt am] FROM interviewbogen WHERE Interviewbogen.ID='" & Me!interviewbogen_ID & "';")

ZD.Edit
ZD![Eingestellt] = "Ja"
ZD![Eingestellt am] = Me![Zuordnung-Eingabe]![Einstellung_datum]
ZD.Update

ZD.Close

Set ZD = Nothing
Set DB = Nothing

End Sub

Private Sub transfer_Click()
'---------------------------------------------------------
'----------------Daten in die Tabelle Interviewbogen übertragen
'---------------------------------------------------------

Dim strDatum As String
Dim strEingestellt As String
strDatum = Me![Bewerber-Eingabe]![Zuordnung-Eingabe]![Einstellung_datum]
ZD.Update
strEingestellt = "Ja"

Forms![Bewerber-Eingabe]![Zuordnung-Eingabe]![Eingestellt] = "Ja"

DoCmd.RunSQL "UPDATE Interviewbogen SET Interviewbogen.[Eingestellt am] = ('" & strDatum & "') WHERE [ID] = Forms![Bewerber-Eingabe]![Zuordnung-Eingabe]!interviewbogen_ID;"
DoCmd.RunSQL "UPDATE Interviewbogen SET Interviewbogen.[Eingestellt] = ('" & strEingestellt & "') WHERE [ID] = Forms![Bewerber-Eingabe]![Zuordnung-Eingabe]!interviewbogen_ID;"


End Sub

Stema
14.08.2001, 00:30
Hallo Joggi,

so wie ich es sehe hast Du Probleme damit Strings zusammenzusetzen. Hier mal ein paar Beispiele:
const intZahl as Integer = 15
const strText as String = "DeinText"
const bolJaNeine as Boolean = TRUE

Zahl:
SELECT * FROM DeineTabelle WHERE ID = 15
...OpenRecordset("SELECT * FROM DeineTabelle WHERE ID = " & intZahl)

Text:
SELECT * FROM DeineTabelle WHERE Textfeld = "DeinText"
...OpenRecordset("SELECT * FROM DeineTabelle WHERE Textfeld ='" & strText & "'")

Boolean
SELECT * FROM DeineTabelle WHERE JaNein = TRUE
...OpenRecordset("SELECT * FROM DeineTabelle WHERE JaNein = " & bolJaNein)


Du solltest mal alles auf diese Syntax hin überprüfen.

Noch ein Tipp: Laß Dir mit Debug.Print Deine Ausdrücke im Debug-Fenster anzeigen. Dann erkennst Du sehr schnell, ob die Syntax richtig ist. So wie in der jeweils obigen Zeile sollte es aussehen.

Joggi
14.08.2001, 14:58
Halle Stema,

Danke Dir für die lehrstunde!

Smile!

Dim strDatum As String
Dim strEingestellt As String
strDatum = ""
strDatum = Me![Einstellung_datum]

strEingestellt = "Ja"
Me![Eingestellt] = strEingestellt

DoCmd.RunSQL "UPDATE Interviewbogen SET Interviewbogen.[Eingestellt am] = ('" & strDatum & "') WHERE [ID] = (" & Me!interviewbogen_ID & ");"
DoCmd.RunSQL "UPDATE Interviewbogen SET Interviewbogen.[Eingestellt] = ('" & strEingestellt & "') WHERE [ID] = (" & Me!interviewbogen_ID & ");"


so geht es nun bei mir!

Merci


es stimmt es ist immer eine fummelei!

Grüße Joggi!