Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Fehler 3061

Begonnen von elvodia, Dezember 14, 2011, 00:52:47

⏪ vorheriges - nächstes ⏩

elvodia

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]"

MzKlMu

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.
Gruß Klaus

elvodia

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

MzKlMu

#3
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.
Gruß Klaus

DF6GL

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]

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MzKlMu

Hallo,
danke für den Hinweis, habe es oben auch noch geändert. Das letzte " war zu viel.
Gruß Klaus

elvodia

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

elvodia

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.

MzKlMu

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.
Gruß Klaus

elvodia

Besteht die Möglichkeit das mir das jemand Umschreibt? Da ich mit VBA net so die Erfahrung habe seh ich da grade nicht durch.

MzKlMu

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.
Gruß Klaus

elvodia

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

MzKlMu

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.
Gruß Klaus