Office: (Office 2000) Datensatz hinzufügen / automatisch wert zuweisen

Helfe beim Thema Datensatz hinzufügen / automatisch wert zuweisen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; moin moin, ich möchte in einer Tabelle über ein Formular automatisch einen Datensatz hinzufügen und im in einem Feld direkt eine ID zuweisen. Dann... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Linus1971, 10. Januar 2006.

  1. Datensatz hinzufügen / automatisch wert zuweisen


    moin moin,

    ich möchte in einer Tabelle über ein Formular automatisch einen Datensatz hinzufügen und im in einem Feld direkt eine ID zuweisen.
    Dann möchte ich das der Focus in diesem Formular auf das erste Feld gesetzt wird welches durch den User bearbeitet werden kann.

    In diesem Formular habe ich die Eigenschaft "Anfügen zulassen" auf "Nein" gestellt.
    Nun habe ich in einem Beitrag den Hinweis gefunden wie man trotzdem einen neuen Datensatz hinzufügen kann.

    Code:
    Ich möchte jetzt soweit gehen, dass ich dem Feld ID automatisch den Wert aus der Variablen CDAKTUELLID (typ Long) zuweise und dann den Focus in das Feld Titelnummer setze.

    Nun habe ich schon probiert, die in dem Beispiel auskommentiert Zeile zu bearbeiten

    Me.Recordset!ID = CDAKTUELLID

    erhalte dann aber folgende Fehlermeldung:

    Nullwert in Index oder primärschlüssel nicht möglich

    Zuerst dachte ich das der Inhalt vorher nicht zugewiesen wurde, aber die Variable hat tatsächlich einen Inhalt vom Typ Long, das Datenfeld ist vom Typ Zahl, Long


    Was mache ich falsch. Und wo muss ich dann den Focus-Befehl einsetzen, damit der User seine Eingaben tätigen kann ?

    :)
     
    Linus1971, 10. Januar 2006
    #1
  2. Ich würde versuchen dieses Problem im Formular über die DefaultValue-Eigenschaft des Feldes zu lösen.
    Deklariere in einem öffentlichen Modul (Kopfbereich) eine Variable Public lngWert As Long die dann aus dem Programm heraus mit dem Inhalt Deiner Berechnungsformel gefüllt werden kann. Ebenfalls im öffentlichen Modul kann dann die nachfolgende Funktion erstellt werden die Deinem Formularfeld den richtigen Inhalt zuweisen kann:
    Code:
    Im Formular wird die Funktion die das Ergebnis Deiner Berechnung wiedergibt in der Eigenschaft DefaultValue (Standardwert) eingetragen: =fctWert()
    Evtl. könnte man die ganze Berechnung auch gleich innerhalb der Funktion vornehmen ??!
     
  3. moin moin,

    die deklarierung der Variablen und die Zuweisung eines Wertes habe ich fertig.

    Wenn ich mir den Inhalt der Variablen anzeigen lasse bekomme ich eine Zahl angezeigt. Ist auch korrekt so. Ich würde jetzt gerne wissen wie ich diese Zahl dann bei Erstellung des neuen Datensatzes genau diesem Datensatz in dem Feld ID speichern bzw. eintragen kann.

    Wenn ich den Button neuer Datensatz klicke wird dadurch folgendes ausgelöst.

    Code:
    Wo weise ich jetzt dem Feld ID die Variable zu ?

    Wie gesagt: Die Zeile in dem das Hochkommata steht habe ich schon versucht zu editieren erhalte dann aber die Fehlermeldung:

    Nullwert in Index oder primärschlüssel nicht möglich.
    Wenn ich direkt nach den anklicken des Button eine MsgBox den Inhalt der Variablen anzeigen lasse erhalte ich auch das Ergebniss. Also schliesse ich daraus, dass die Variable ok ist.

    Wo muss ich also jetzt ansetzten, damit diese Meldung nicht mehr erscheint ?
     
    Linus1971, 11. Januar 2006
    #3
  4. Datensatz hinzufügen / automatisch wert zuweisen

    der jeweils aktuelle Wert der Variablen sollte bei jedem neuen Datensatz automatisch vorhanden sein. Es wird nicht notwendig sein den Wert über die Recordset-Eigenschaft des Formulars zuzuweisen - es sei denn Du füllst noch andere Felder aus.
    Code:
    Ansonsten sollte es ohne Recordset gehen indem man mit dem DoCmd-Objekt einfach einen NewRecord anfügt und anschliessend den Fokus auf das erste auszufüllende Feld setzt.
     
  5. Das klappt nicht.

    Ich peil es im Moment nicht. Das Problem ist noch immer da. Der Wert der in dieses Feld eingetragen werden muss wird vorher in einem anderen Formular ausgelesen und in der Variablen CDAKTUELLID hinterlegt.
    Und dieser Wert MUSS in das Feld ID in der aktuellen Tabelle in einen neuen Datensatz geschrieben werden und anschliessen soll der Focus auf das nächste Datenfeld gesetzt werden damit der User eine Eingabe vornehmen kann.

    Wo weise ich dem Feld ID den Inhalt CDAKTUELLID zu.
    Mit dem Update kommt die Fehlermeldung wie schon beschrieben.

    So habe ich das jetzt in meinem Formular eingefügt

    Code:
    Ich habe als Beispiel mal ne abgespeckte Datenbank angehängt.
     
    Linus1971, 12. Januar 2006
    #5
  6. jemand nen tipp welchen fehler ich da drin habe?
     
    Linus1971, 12. Januar 2006
    #6
  7. So in etwa wird ein Schuh draus:
    Code:
     
    Arne Dieckmann, 12. Januar 2006
    #7
  8. Datensatz hinzufügen / automatisch wert zuweisen

    Warum mache ich mir eigentlich immer das Leben (bzw. VBA Programmierung) so schwer.
    Ist eigentlich recht simple. So was ähnliches hatte ich wenn ich eine neue CD anlege schon drin. Aber die Lösung in den Eigenschaften Anfügen auf Nein zu setzen und mit dem Button einen neuen Datensatz zu erzeugen gefällt mir viel besser.

    Danke für die Hilfe.
     
    Linus1971, 12. Januar 2006
    #8
Thema:

Datensatz hinzufügen / automatisch wert zuweisen

Die Seite wird geladen...
  1. Datensatz hinzufügen / automatisch wert zuweisen - Similar Threads - Datensatz hinzufügen automatisch

  2. MS Access Formular - mehrere Datensätze pro Steuerelement hinzufügen?

    in Microsoft Access Hilfe
    MS Access Formular - mehrere Datensätze pro Steuerelement hinzufügen?: Hallo Ihr Lieben, ich bastle gerade ein Formular. Nun such ich nach dem passenden "Steuerelement", dass ich mehrere Daten pro Feld eingeben kann, z.B. getrennt durch ein Semikolon oder ähnliches?...
  3. Kann keinen neuen Datensatz hinzufügen

    in Microsoft Access Hilfe
    Kann keinen neuen Datensatz hinzufügen: Ich habe meine Lieferanten-Datenbank schon ordentlich voran getrieben und mittlerweile funktioniert das mit den Eingeben der Preise und dem Anzeigen aller Artikel und Preise der Lieferanten. Aber...
  4. Datensätze im UF bearbeiten und hinzufügen

    in Microsoft Access Hilfe
    Datensätze im UF bearbeiten und hinzufügen: Hallo, mein erster Beitrag hier. Als leidenschaftlicher Sammler von allem möglichen Zeugs der 80er Jahre, habe ich mich entschieden, eigene Datenbanken für verschiedene Sammelgebiete zu erstellen....
  5. VBA: Hinzufügen von Datensätzen zu einer bestehenden Tabelle

    in Microsoft Access Hilfe
    VBA: Hinzufügen von Datensätzen zu einer bestehenden Tabelle: Hallo, ich möchte zum ersten mal mit loop und einer Wenn-Bedingung mit VBA Datensätze (Felder) aus einer Tabelle in eine andere Tabelle übernehmen und komme nicht weiter. Vielleicht kann mir...
  6. Datensätze werden beim hinzufügen nicht angezeigt

    in Microsoft Access Hilfe
    Datensätze werden beim hinzufügen nicht angezeigt: Hallo zusammen, ich habe nur eine kleine Frage. Warum werden die aktuellen Datensätze beim löschen einer Adresse direkt korrekt angezeigt, beim hinzufügen allerdings nicht ? Anbei beide VBA:...
  7. Datensatz hinzufügen

    in Microsoft Access Hilfe
    Datensatz hinzufügen: Hallo Zusammen Habe eine Tabelle tblDatendetails. In dieser werden den DatenID die KundenID zugeordnet. Derzeit gibt es 46 Kunden (tblKunden, KundenID). Das heisst es gibt zwei DatenID 2 bzw. 6,...
  8. VBA: Automatisches Hinzufügen von Datensätze auf Basis einer Abfrage

    in Microsoft Access Hilfe
    VBA: Automatisches Hinzufügen von Datensätze auf Basis einer Abfrage: Hallo zusammen, ich baue gerade eine Datenbank zur Erstellung von Reisekostenrechnungen. Reisekosten setzen sich zusammen aus Fahrt-, Unterkunfts- und Reisenebenkosten sowie...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden