Ich weis einfach net wo ran es liegt. Gebe zu VBA keine Erfahrung Code zusammen kopiert.
CurrentDb.Execute "DELETE * FROM Behandlungen WHERE [Behandlungen_ID] = Forms!FM_Behandlungen_bearbeiten![Behandlungen_ID]"
Hallo,
für den Fehler 3061 ??? bietet sich die Lösung 4567 an.
Vielecht kannst Du Dich ja doch dazu durchringen den Fehlertext vollständig zu zitieren.
1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben
Schreibt Access dazu
CurrentDb.Execute "DELETE * FROM Behandlungen WHERE [Behandlungs_ID] = Forms!FM_Behandlungen_bearbeiten![Behandlungs_ID]"
Der Coda hat sich etwas geändert da ich die Feldnamen der Tabelle an gepasst habe
Hallo,
versuche es so:
CurrentDb.Execute "DELETE * FROM Behandlungen WHERE [Behandlungs_ID] = " & Forms!FM_Behandlungen_bearbeiten![Behandlungs_ID]
Eventuell auch kürzer:
CurrentDb.Execute "DELETE * FROM Behandlungen WHERE [Behandlungs_ID] = " & Me![Behandlungs_ID]
Was mich aber noch zu dem Hinweis veranlasst, dass man keine Daten in einer DB löscht, Du zerstörst unter Umständen die Datenkonsistenz. Besser wäre es mit einem Statusfeld den Datensatz als inaktiv zu markieren.
Hallo,
kleine Korrektur eines Tippfehlers
CurrentDb.Execute "DELETE * FROM Behandlungen WHERE [Behandlungs_ID] = " & Forms!FM_Behandlungen_bearbeiten![Behandlungs_ID]
CurrentDb.Execute "DELETE * FROM Behandlungen WHERE [Behandlungs_ID] = " & Me![Behandlungs_ID]
Hallo,
danke für den Hinweis, habe es oben auch noch geändert. Das letzte " war zu viel.
Dankeschön. Ich hab zwischendurch folgendes gefunden was auch funktioniert nur würde ich wissen was sinnvoller besser oder wie man sag Progrmierstandart ist
Private Sub button_kasse_bearbeiten_delete_Click()
Dim tmp%
tmp = MsgBox("Krankenkasse wiklich Löschen?", 36)
If tmp = 7 Then Exit Sub
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acDefault
DoCmd.Requery FM_kassen_liste
MsgBox ("Krankenkasse wurde gelöscht")
End Sub
Hab den selbern fehler schon wieder. ich versuche Daten aus einem Formular mittels Afü Abfrage in eine Tabelle zu schreiben.
Private Sub button_behandlung_anlegen_save_Click()
CurrentDb.Execute "AFÜ_ABF_neue_behandlung"
DoCmd.Close acDefault
End Sub
INSERT INTO Behandlungen ( Patient, Behandlung, Datum, Einheiten )
SELECT Behandlungen.Patient AS Ausdr1, Behandlungen.Behandlung AS Ausdr2, Behandlungen.Datum AS Ausdr3, Behandlungen.Einheiten AS Ausdr4
FROM Behandlungen, ABF_neue_behandlung_patient, ABF_neue_behandlung_behandlungsarten
WHERE (((Behandlungen.Patient)=[ABF_neue_behandlung_patient]![P_ID]) AND ((Behandlungen.Behandlung)=[Formulare]![FM_behandlung_anlegen]![Behandlungsart]) AND ((Behandlungen.Datum)=[Formulare]![FM_behandlung_anlegen]![Behandlungsdatum]) AND ((Behandlungen.Einheiten)=[Formulare]![FM_behandlung_anlegen]![Behandlungs_einheiten]));
Kann Euch die Abfrage ja leider nur im SQL schicken. Ich seh da net durch habs sie im Entwurf so aufgebaut wie ich es mir denke ist wohl nen fehler drin.
Hallo,
die Parameter aus dem Formular müssen mit & verkettet werden, so wie mit der Löschabfrage gezeigt.
Und dass es sinnvoll ist, nicht mehr benötigete Krankenkassen zu löschen, möchte ich bezweifeln.
Besteht die Möglichkeit das mir das jemand Umschreibt? Da ich mit VBA net so die Erfahrung habe seh ich da grade nicht durch.
Hallo,
Zitatich versuche Daten aus einem Formular mittels Afü Abfrage in eine Tabelle zu schreiben.
Wozu überhaupt per Afü Abfrage, warum bindest Du das Formular nicht einfach an die Tabelle/Abfrage, dann braucht es gar keinen Code.
Der Aufwand den Du da treibst dürfte ziemlich überflüssig sein.
Ja ich habe es im Moment auch so. Aber mit der anderen Variante muß ich das Speichen direkt bestätigen. So kann man nicht unbeabsichtigt Daten verändern oder hinzufügen
Hallo,
ZitatSo kann man nicht unbeabsichtigt Daten verändern oder hinzufügen
Das geht auch mit gebundenen Formularen. Auch da lässt sich ein Button zum Speichern einbauen.
Du sparst Dir mit gebundenen Formularen einen ziemlichen Aufwand und sicherer ist es auch.