Seite 1 von 1

Eingabeformular reagiert nicht mehr, nachdem Feldinhalte gel

Verfasst: Mo, 04.03.2013 18:40
von Open_Office_Freak
Ich werde noch wahnsinnig

jetzt habe ich durch die Installation dieses C++ 2010 REdistributalbe Pack die Datenbank wieder zu Laufen bekommen

jetzt kommt ein Mist nach dem anderen

gibt es etwas besseres als OOo, womit man eine funktionstüchtige Datenbank erstellen kann?

wenn ich jetzt Inhalte aus Feldern lösche, reagiert die Schaltfläche "Datensatz" speichern beim Draufklick einfach nicht mehr.

gar nichts geht mehr, auch nicht blättern in den Datensätzen. Man muss die Dateneingabe verwerfen und dann stehen die alten Inhalte
wieder drin und dann geht auch wieder Blättern

das ganze ist sehr unbefriedigend, kann es sein dass das alles nur Bastellösungen sind ?

Jetzt endlich, wenn ich die untere Schaltfläche fürs Speichern verwenden will kommt folgende Fehlermeldung:

Attempt to insert null into a non-nullable column: column: Geburtsdatum table: Raumverwaltung in statement [UPDATE "Raumverwaltung" SET "Geburtsdatum" = ? WHERE "ID" = ?]

Die Formatierung dieses entsprechenden Feldes Gebrutstdatum sieht so aus:

unter Reiter "Allgemein" --> maximale Textlänge 10
unter Reiter "Daten" --> Leere Zeichenfolge ist NULL ja
Eingabe erforderlich nein

Ich denke das Erstellen einer Datenbank ist ja ganz schön, aber die Probleme gehen dann los, wenn man anfängt damit zu arbeiten und Felder leert, dann geht der Stress richtig
los

Vielleicht hat jemand eine Idee, evtl. mache ich ja was falsch

Re: Eingabeformular reagiert nicht mehr, nachdem Feldinhalte

Verfasst: Mo, 04.03.2013 19:29
von RobertG
Hallo Open_Office_Freak,
Open_Office_Freak hat geschrieben: Jetzt endlich, wenn ich die untere Schaltfläche fürs Speichern verwenden will kommt folgende Fehlermeldung:
Attempt to insert null into a non-nullable column: column: Geburtsdatum table: Raumverwaltung in statement [UPDATE "Raumverwaltung" SET "Geburtsdatum" = ? WHERE "ID" = ?]
Du bekommst eine englischsprachige Fehlermeldung direkt von der Datenbank. Dann hat das ganze nichts mit dem Formular zu tun sondern mit den Einstellungen, die Du in der Tabelle der Datenbank gemacht hast.
"Geburtsdatum" in der Tabelle "Raumverwaltung" ist so eingestellt, dass die Eingabe eines Datensatzes erforderlich ist. Öffne die Tabelle zum Editieren mit der rechten Maustaste. Suche das Feld "Geburtsdatum". Schau unten im Tabelleneditor auf "Feldeigenschaften". Da steht standardmäßig ein "Eingabe erforderlich" - "Nein". Das muss bei Dir aus irgendeinem Grunde auf "Ja" gestellt worden sein.
Open_Office_Freak hat geschrieben: Die Formatierung dieses entsprechenden Feldes Geburtstdatum sieht so aus:

unter Reiter "Allgemein" --> maximale Textlänge 10
unter Reiter "Daten" --> Leere Zeichenfolge ist NULL ja
Eingabe erforderlich nein
Du zitierst hier das Formularfeld und die Eigenschaften des dort von Dir erstellten Feldes. Würde hier "Eingabe erforderlich" "ja" stehen, so erhieltest Du eine deutschsprachige Aufforderung, doch bitte das Formular komplett auszufüllen. Damit wird das Formular also gar nicht erst an die Datenbank geschickt, wenn die Eingaben unvollständig sind.

Gruß

Robert

Re: Eingabeformular reagiert nicht mehr, nachdem Feldinhalte

Verfasst: Mo, 04.03.2013 19:56
von Open_Office_Freak
Hallo Robert

Du hast recht, es stand in der TABELLE die Aufforderung auf JA

was hat das dann zu bedeuten, daß man im Eingabeformular die Eingabe auf Ja auch stellen kann? Was bringt das, wenn in der Tabelle NEIN und im Eingabeformular JA steht?

So langsam blicke ich durch :P

Re: Eingabeformular reagiert nicht mehr, nachdem Feldinhalte

Verfasst: Mo, 04.03.2013 22:18
von RobertG
Hallo Open_Office_Freak,
Open_Office_Freak hat geschrieben: was hat das dann zu bedeuten, daß man im Eingabeformular die Eingabe auf Ja auch stellen kann? Was bringt das, wenn in der Tabelle NEIN und im Eingabeformular JA steht?
Grundsätzlich solltest Du im Eingabeformular die Felder auf "Eingabe erforderlich" - "ja" einstellen, die in der Tabelle auch so definiert sind. Das hat den Vorteil, dass das Formular erst zum Speichern abgeschickt wird, wenn der Inhalt so wie gewünscht ist. Das macht für Dich im Moment nur den Unterschied zwischen vielleicht unverständlicher englischsprachiger Mitteilung der Datenbank und deutschsprachiger Mitteilung der Benutzeroberfläche.
Bei einer Datenbank, die nicht auf Deinem Rechner liegt, wird auf diese Weise aber zusätzlicher Datenverkehr durch Fehlermeldungen vermieden. Eingabeformulare im Netz machen das grundsätzlich so: Pflichteingabefelder der Datenbanken werden vor dem Losschicken der Daten überprüft. Ist eine Pflichteingabe nicht erfüllt, so wird die Datenbank gar nicht erst mit unnötiger Tätigkeit entlastet. Die Überprüfung geschieht bei Dir auf dem Rechner. Dadurch werden Datenströme nach außen und zurück (mit entsprechendem Zeitverlust) vermieden.
In der Datenbank werden natürlich durch Pflichtfelder unbrauchbare Eingaben abgefangen. Was habe ich z.B. von einer Adressdatenbank, wenn kein Nachname oder kein Ort angegeben ist? Das muss abgesichert sein. Und da nicht jeder sauber die Formulare erstellt, sichere ich so etwas auch in der datenbank selbst, also in den Tabellen, zusätzlich ab.

Gruß

Robert

Re: Eingabeformular reagiert nicht mehr, nachdem Feldinhalte

Verfasst: Di, 05.03.2013 23:35
von Open_Office_Freak
Hallo Robert

so ganz hab ich es noch nicht verstanden

in meiner Mieterverwaltung habe ich bemerkt, dass die Datenbank NUR dann meckert, wenn die Pflichtangabe eines Feldes in der TABELLE auf JA sitzt, das Formular interessiert sich irgendwie gar nicht ob ich dort auf JA oder NEIN stelle.

Daher fragte ich. Wenn ich es jetzt richtig verstehe, muss ich diese Entscheidung in der TABELLE für das entsprechnde Feld treffen und brauch mir keine Sorgen zu machen, was im Eingabeformular definiert ist?

Grüsse

Re: Eingabeformular reagiert nicht mehr, nachdem Feldinhalte

Verfasst: Mi, 06.03.2013 09:07
von juetho
Open_Office_Freak hat geschrieben:Wenn ich es jetzt richtig verstehe, muss ich diese Entscheidung in der TABELLE für das entsprechnde Feld treffen und brauch mir keine Sorgen zu machen, was im Eingabeformular definiert ist?
RobertG hat geschrieben:Grundsätzlich solltest Du im Eingabeformular die Felder auf "Eingabe erforderlich" - "ja" einstellen, die in der Tabelle auch so definiert sind.
Also doppelt eintragen: In der Tabellendefinition wegen der Sachlogik, im Formular wegen der praktischen Arbeitsweise.

Gruß Jürgen

Re: Eingabeformular reagiert nicht mehr, nachdem Feldinhalte

Verfasst: Mi, 06.03.2013 10:43
von Open_Office_Freak
Ok

also wenn die Eingabe zwingend erforderlich ist und der User mit der entsprechenden Fehlermeldung darauf hingewiesen werden soll, dann MUSS in der TABELLE auf JA geschaltet werden UND im EINGABEFORMULAR

wenn die Eingabe nicht so wichtig ist, dann in der TABELLE auf NEIN und im EINGABEFORMULAR auch auf NEIN

Hab ich es jetzt richtig kapiert?

Danke für Eure Hilfe

Ach ja, gibt es ein Buch zum Selbststudium? Das von Thomas Krumbein hatte ich schon, das hat mir leider nicht geholfen.... Ich brauche die Zusammenhänge besser erklärt und zwar von Beginn an

Re: Eingabeformular reagiert nicht mehr, nachdem Feldinhalte

Verfasst: Mi, 06.03.2013 10:56
von juetho
Open_Office_Freak hat geschrieben:Hab ich es jetzt richtig kapiert?
Ja.
Danke für Eure Hilfe
Gern geschehen!
Ach ja, gibt es ein Buch zum Selbststudium? Das von Thomas Krumbein hatte ich schon, das hat mir leider nicht geholfen.... Ich brauche die Zusammenhänge besser erklärt und zwar von Beginn an
Wie wäre es mit den Handbüchern? Oben die "Ersten Schritte", dann weit nach unten scrollen das ausführliche Base-Handbuch.

Inwieweit sie besser sind als Krumbein, kannst du nur selbst entscheiden. Jeder, der sich in ein neues Thema einarbeiten muss, hat eine andere Art, sich solche Kenntnisse anzuzeignen. Deshalb hilft nur eins: einlesen in ein Buch und dann entscheiden, wie weit es hilft.

Gruß Jürgen