Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Ergebnis von Recordset.Addnew

Begonnen von henfoni, Juni 21, 2012, 16:49:47

⏪ vorheriges - nächstes ⏩

henfoni

Moin,

habe folgendes Problem: Ich füge neue Datensätze in eine Tabelle, in der Tabelle sind 3 Pflichteintraungsfelder.
    With CurrentDb().OpenRecordset("Land", dbOpenDynaset, dbAppendOnly)
        .AddNew
        !Land_ID = cboLand
        !Waehrung_ID = cboWaehrung
        !Kurzbeschreibung = txtKurzbeschreibung
        .Update
    End With

Klappt auch alles gut. Nur wenn ich die Kombo bzw. Textfelder leerlasse, dann müsste doch eigentlich eine Fehlermeldung beim Addnew-Versuch aufpoppen oder? Es passiert aber gar nix, es wird kein Datensatz angelegt und es kommt auch keine Fehlermeldung.
Wie kann ich (auf einfache Weise) prüfen, ob der Addnew-Versuch geklappt hat?

Danke und Gruß
Wer nicht fragt, bleibt dumm.

MzKlMu

Hallo,
Du programmierst zu viel. Um Datensätze in eine Tabelle zu schreiben, braucht es keinen Code, keinen Buchstaben. Das kann Access standardmäßig besser als Du. Da nimmt man ein an die Tabelle/Abfrage gebundenes Formular und fertig.
Im Formular überwacht man auch die Pflichtfelder und lässt das Verlassen des Formular ohne die Pflichtfelder erst gar nicht zu.

Noch ein guter Rat, kümmere Dich erst mal ums Datenmodell, siehe Dein anderes Thema.
Du läufst Gefahr, dass die ganzen Formulare/Berichte für die Katz sind, die Du bis jetzt gemacht hast, wenn das datenmodell angepasst werden muss.
Gruß Klaus

henfoni

Hey,

danke für deine Hinweise. Also zum Reinen Befüllen der Datenbank sollte ich immer gebundene Formulare nehmen?

Mit dem Datenmodell hat ich mir eigentlich schon ganz gut meine Gedanken gemacht (dachte ich zumindest).

Dann versuch ich jetzt mal das Befüllen mit gebundenen Formularen :) dank dir
Wer nicht fragt, bleibt dumm.

MzKlMu

Hallo,
ich habe noch nie ungebundene Formular/Berichte verwendet. Warum das Rad noch mal erfinden. Das macht Access serienmäßig besser wie Du.
Gruß Klaus

database

Hallo,

bitte die Hinweise von MzKlMu trotzdem sehr ernst nehmen!

Wenn du auf fehlende Daten beim Anfügen eines Datensatzes per VBA reagieren willst, musst du deren Vorhandensein prüfen.
In etwa so:


If Not IsNull(Me.cboLand) And Not IsNull(Me.cboWaehrung) And Me.txtKurzbeschreibung <> "" Then
    With CurrentDb().OpenRecordset("Land", dbOpenDynaset, dbAppendOnly)
        .AddNew
        !Land_ID = cboLand
        !Waehrung_ID = cboWaehrung
        !Kurzbeschreibung = txtKurzbeschreibung
        .Update
    End With
Else
    MsgBox "Es wurden nicht alle benötigten Daten eingegeben!", vbExclamation, "Fehlende Daten"
End If


HTH