Makro / Kontrollfeldeingabe

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Makro / Kontrollfeldeingabe

Beitrag von turtle47 »

Hallo Nils,
zantoo hat geschrieben:Schaue ich jedoch nach dem Einfügen des Datensatzes in meine Tabelle stelle ich fest, dass in der entsprechenden Spalte nichts eingefügt wurde.
Eine Lösung dazu hat "eBayer" hier im Forum eingestellt.
Funktioniert einwandfei, habe ich schon selber verwendet.

Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Benutzeravatar
stw
*
Beiträge: 16
Registriert: Sa, 22.12.2007 16:20
Wohnort: Veitshöchheim
Kontaktdaten:

Re: Makro / Kontrollfeldeingabe

Beitrag von stw »

Hallo zusammen,

ist ja super! Ein COMMIT senden, und ein Ärgernis der letzten zwei Jahre OOo-Base-Programmierung ist beseitigt. Was habe ich nicht alles an Forumsbeiträgen gelesen zu diesem Thema! Hab es auch gleich ausprobiert; in dem einen Formular (Generierung einer Buchungsnummer) hat es sofort gewirkt, in einem anderen Formular (Generierung einer Mitgliedsnummer) dagegen nicht. Aber da suche ich selbst weiter.

Vielen Dank an "Jürgen" und "eBayer" für das Finden der Lösung.

Viele Grüße

Stefan
Der vollständige Stillstand ist nur erreichbar durch Rennen entgegen der Erdrotation.
[Eroc]
OOo 3.1.0 mit Sun Report Builder 1.1.0 unter Windows Vista
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Makro / Kontrollfeldeingabe

Beitrag von eBayer »

Hallo Stefan,
Du mußt beim zuweisen der Inhalte auf den Datentyp des Empfangsfeldes achten (String nach .text, Numeric nach .Value usw.)
Dann sollte auch der danach folgende Commit klappen.
Ich habe allerdings noch einen nicht komplett ausgetesteten Verdacht:
es könnte sein, daß der Commit nach der letzten Zuweisung nicht immer unter allen Umständen funktioniert.... möglicherweise hilft da die Veränderung der Reihenfolge bei den Zuweisungen.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Benutzeravatar
stw
*
Beiträge: 16
Registriert: Sa, 22.12.2007 16:20
Wohnort: Veitshöchheim
Kontaktdaten:

Re: Makro / Kontrollfeldeingabe

Beitrag von stw »

eBayer hat geschrieben:Hallo Stefan,
Du mußt beim zuweisen der Inhalte auf den Datentyp des Empfangsfeldes achten (String nach .text, Numeric nach .Value usw.)
Dann sollte auch der danach folgende Commit klappen.
Hallo eBayer,

danke für den Hinweis. Die "Buchungsnummer" ist ein Textfeld, mit xxx.text = ... und xxx.commit(True) hat die Aktion geklappt. Die "Mitgliedsnummer" ist ein Small Integer, xxx.text = ... ist da wohl nicht richtig, obwohl der ermittelte Wert an der Oberfläche korrekt angezeigt wird. Im Debugger finde ich allerdings keine andere Eigenschaft, die den aktuellen Wert repräsentiert, ein xxx.Value = ... wird mit einem Laufzeitfehler quittiert.

Das Ändern der Mitgliedsnummer in ein INTEGER-Feld geht auch nicht trivial, ooo will die Spalte löschen und neu einfügen, weil die Spalte als Foreign Key verwendet wird:

Code: Alles auswählen

Column is referenced in constraint or view: SYS_REF_SYS_FK_211_217 in statement [ALTER TABLE "tbMitglieder" ALTER COLUMN "MitgliedsNr" INTEGER NOT NULL]
Hast Du auf die Schnelle eine Idee, was ich mit dem Small Integer machen soll?

Viele Grüße

Stefan
Der vollständige Stillstand ist nur erreichbar durch Rennen entgegen der Erdrotation.
[Eroc]
OOo 3.1.0 mit Sun Report Builder 1.1.0 unter Windows Vista
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Makro / Kontrollfeldeingabe

Beitrag von eBayer »

kann es sein, daß die Tabelle mit einer anderen verknüpft ist?
Wenn das so wäre, könnte ich mir vorstellen, daß Du die Mitgliedsnummer mit einem Wert füllen willst, der durch den Tabellenbezug nicht erlaubt ist.
In diesem Fall würde ich mal vorübergehend zum testen die Tabellenbeziehung aufheben.
Noch eine Idee: lasse Dir doch mal den Wert per msgbox oder so anzeigen, bevor du damit das Feld füllst..... steht vielleicht Schrott drin?
Sonst fällt mir im Moment nix gescheites dazu ein.
Viel Erfolg und Gruß
eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Benutzeravatar
stw
*
Beiträge: 16
Registriert: Sa, 22.12.2007 16:20
Wohnort: Veitshöchheim
Kontaktdaten:

Re: Makro / Kontrollfeldeingabe

Beitrag von stw »

Hallo eBayer,

der Fehler ist gefunden! Das Feld im Formular war ein "formatiertes Feld", das habe ich gelöscht und als "numerisches Feld" neu angelegt. Nun hat dieses Feld ein .value, und die Zuweisung plus Commit funktioniert. *glücklich*

Schönen Feiertag noch

Stefan
Der vollständige Stillstand ist nur erreichbar durch Rennen entgegen der Erdrotation.
[Eroc]
OOo 3.1.0 mit Sun Report Builder 1.1.0 unter Windows Vista
Antworten