Datensatzerfassung in Datenbank über Formular

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Schmitti
Beiträge: 3
Registriert: So, 03.06.2012 13:28

Datensatzerfassung in Datenbank über Formular

Beitrag von Schmitti »

Hallo,

ich habe da ein Problem:
- Ich habe eine Datenbank über Access eingelesen, die Datenfelder nach Art und Größe aktualisiert und ein Formular dazu angelegt.
- Wenn ich nun einen neuen Datensatz anlege und abspeichern will kommt die Fehlermeldung "Fehler beim Einfügen des neuen Datensatzes"

Wer kann mir schreiben, was ich da falsch mache?

Gruß
Schmitti
RobertG
********
Beiträge: 2069
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Datensatzerfassung in Datenbank über Formular

Beitrag von RobertG »

Hallo Schmitti,
Schmitti hat geschrieben: - Wenn ich nun einen neuen Datensatz anlege und abspeichern will kommt die Fehlermeldung "Fehler beim Einfügen des neuen Datensatzes"
Ist das die gesamte Meldung? Ich vermute, dass da noch erklärender, meist englischsprachiger Text, dabei ist.
Häufige Probleme aus meiner Unterrichtserfahrung: Der Primärschlüssel ist da, aber nicht im Formular angeführt ("Was soll ich mit so einem Feld"). Dann wird von dem Formular für dieses Feld "NULL" weitergegeben - es sei denn, es handelt sich um ein AutoWert-Feld, das also einen standardmäßigen Wert vorgesehen hat. Die Fehlermeldung lautet dann etwas so: "Attemp to insert NULL into a non nullable column ...".

Vielleicht hilft uns hier im Forum eine ausführlichere Information ...

Gruß

Robert
Schmitti
Beiträge: 3
Registriert: So, 03.06.2012 13:28

Re: Datensatzerfassung in Datenbank über Formular

Beitrag von Schmitti »

Hallo zusammen,

das Problem konnte ich mit Eingabe des Primärschlüssels lösen. Jetzt ist aber ein weiteres Problem entstanden:
Ich habe zwei Felder importiert, die waren in Acces sog. "Memofelder", also mit unbegrenzter Feldlänge. Ein neuer Datensatz lässt sich jetzt nur abspeichern, wenn ich in dem Feld irgend etwas eingebe, ansonstgen kommt die Meldung: " Fehler beim Einfügen des neuen Datensatzes. Das Feld 'Hinweise' kann keinen Nullwert enthalten, da die Required-Eigenschaft für dieses Feld den Wert True hat. geben Sie in dem Feld einen Wert ein."

In dem Feld habe ich die Funktion "Eingabe notwendig" auf Nein gestellt.

Ich benutze die Version: OpenOffice.org 3.2.1 OOO320m18 (Build:9502)

kann mir da jemand helfen?

Vielen Dank im Voraus
RobertG
********
Beiträge: 2069
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Datensatzerfassung in Datenbank über Formular

Beitrag von RobertG »

Hallo Schmitti,
Schmitti hat geschrieben: Ich habe zwei Felder importiert, die waren in Acces sog. "Memofelder", also mit unbegrenzter Feldlänge. Ein neuer Datensatz lässt sich jetzt nur abspeichern, wenn ich in dem Feld irgend etwas eingebe, ansonstgen kommt die Meldung: " Fehler beim Einfügen des neuen Datensatzes. Das Feld 'Hinweise' kann keinen Nullwert enthalten, da die Required-Eigenschaft für dieses Feld den Wert True hat. geben Sie in dem Feld einen Wert ein."
In dem Feld habe ich die Funktion "Eingabe notwendig" auf Nein gestellt.
Es gibt zwei Orte, an denen Du "Eingabe notwendig" in der GUI einstellen kannst. Das ist zum einen die Tabelle selbst, zum anderen das Formularfeld. Dass irgendwo in einer Meldung "Required-Eigenschaft" auftaucht lässt auf einen Übersetzungsfehler schließen. Die gesamte Meldung kommt von der GUI, hat also erst einmal nichts mit der Datenbank direkt zu tun - von der würden die Meldungen wie eben beim Primärschlüssel kommen: "Attempt to insert null to a non nullable column ..."

... ich würde einmal ein Update des Office-Systems machen. Mit der 3.2 hatte ich damals derart schlechte Erfahrungen gemacht, dass ich direkt wieder zurück zur 3.1.1 gegangen bin. Die lief mit Datenbanken gut. Ob es gleich die 3.3.4 von AOO oder die 3.5.4 von LO sein muss kann ich nicht sagen. Aber die 3.3.4 von LO oder die 3.3.0 von OOo laufen auch ganz passabel .

Gruß

Robert
Schmitti
Beiträge: 3
Registriert: So, 03.06.2012 13:28

Re: Datensatzerfassung in Datenbank über Formular

Beitrag von Schmitti »

Vielen Dank für die Antworten, ich habe mittlerweile die aktuelle Version 3.4.0 installiert. Ich habe jetzt die Tabelle richtig übertragen, neue Datensätze kann ich eingeben, aber ich wollte die bestehende Mtgl.Nr. als Primärschlüssel vormerken, was nur teilweise gelungen ist: ich finde die funktion nicht, wonach sich der Primärschlüssel automatisch hochzählt.

Ein Formular zu erstellen ist mir auch gelungen!!! und diverse Abfragen. Bei den Abfragen habe ich das Problem, dass ich für eine Geburtstagsliste die Datensätze nach Monat und Tag sortiern müsste und das Alter in Jahren ausrechnen müsste. Bei Acces hatte ich das Problem gelöst, indem ich in der Abfrage neue Felder generiert habe, Bsp. JJ = Jahr(Geburtsdatum) MM = Monat (Geburtsdatum) TT = (Tag Geburtsdatum). Damit konnte ich die Datensätze nach MM und TT sortieren und das Alter über Differenz JJ (Geburtsdatum) und JJ (aktuelles Datum) ausrechnen. gibt es solche Funktionen bei Openoffice Datenbank auch? oder muss ich das anders lösen?

Vielen Dank im Voraus für eine Antwort

Gruß
Schmitti
RobertG
********
Beiträge: 2069
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Datensatzerfassung in Datenbank über Formular

Beitrag von RobertG »

Hallo Schmitti,
Schmitti hat geschrieben:Ich habe jetzt die Tabelle richtig übertragen, neue Datensätze kann ich eingeben, aber ich wollte die bestehende Mtgl.Nr. als Primärschlüssel vormerken, was nur teilweise gelungen ist: ich finde die funktion nicht, wonach sich der Primärschlüssel automatisch hochzählt.
Dein Primärschlüssel muss dafür in Base den Feldtyp "Integer" haben. Dann steht im unteren Teil bei den Einstellungen eines Standardwertes, der Feldlänge usw. auch die Möglichkeit, einen Autowert daraus zu bilden.
Für Dein zweites Problem schaust Du vielleicht einmal ein bisschen hier nach:
viewtopic.php?f=8&t=53773
... und dann die Beschreibung "Aktuelles Alter ermitteln" im Handbuch Base, Kapitel 8, Datenbankaufgaben. Das Handbuch bekommst Du in einzelnen Kapiteln oder komplett hier:

Code: Alles auswählen

http://de.libreoffice.org/hilfe-kontakt/handbuecher/
Gruß

Robert
Antworten