Seite 1 von 1

Datensatz bzw. Datenfelder updaten

Verfasst: Do, 27.09.2007 19:06
von JüFo
Hallo,
ich habe eine "Base Datenbank" erstellt, in der ich per Makro Daten bestimmter Felder eines Datensatzes auslesen, addieren,
und dann als Summe bzw. als Nullwert zurückschreiben möchte.
Das Makro wird von einem Formular gestartet das den benötigten Datensatz anzeigt, wobei das Auslesen der gewünschten
Daten funktioniert, aber das Updaten bereitet mir Schwierigkeiten.

Für Eure Hilfe würde ich mich freuen!

Hier der vorhandene Quelltext:

sub Main

dim odoc as object
dim oform as object
dim Anzahl as object
dim Bestand as Integer
dim Eingabe as Integer
dim NeuBestand as Integer
dim Index as Integer
dim Null as Integer

odoc = thiscomponent
oform = odoc.drawpage.forms.getbyindex(0)
Index = oform.getstring(1) 'Schlüssel auslesen
Bestand = oform.getstring(6) 'Wert aus Feld Nr.6 auslesen DatenFeldname= "Anzahl"
Eingabe = oform.getstring(7) 'Wert aus Feld Nr.7 auslesen DatenFeldname= "Stueckzahl"
NeuBestand = Bestand + Eingabe 'Werte addieren
Null = 0

'Ab hier benötige Hilfe:

'1. schreibe Neubestand in Feld (6)
'2. schreibe Null in Feld (7)

end sub

Re: Datensatz bzw. Datenfelder updaten

Verfasst: Fr, 28.09.2007 10:33
von Toxitom
Hey JüFo,

theoretisch geht das jetzt mit "oForm.updateString(6,, NeuBestand)" , je nachdem natürlich, wie das Formular eingestellt wurde (Bei nur Anzeige ist ein Update natürlich nicht möglich.
Zum Schluss muss ein "oform.updateRow()" erfolgen - sonst wird nicht zurück in die Datenbank geschrieben. Evt. musst du dann noch das Formular "refreshen", um dort auch etwas zusehen.

Viele Grüße
Thomas

Re: Datensatz bzw. Datenfelder updaten

Verfasst: Fr, 28.09.2007 15:50
von JüFo
Hallo Thomas,

vielen Dank für den Tipp. Nach einigem Probieren hat es geklappt, nach dem ich den Platz für die Variable "Neubestand"
getauscht und hinter das erste Komma also hinter die "6" gesetzt habe.

Viele Grüße

JüFo

Re: Datensatz bzw. Datenfelder updaten

Verfasst: Sa, 29.09.2007 11:04
von Toxitom
Hey JüFü,

Ja, sorry, da war ein Komma zu viel im Text :oops:
Das kommt vom zu schnellen Schreiben....

Aber du bist ja zum ERgebnis gekommen ;-)

Viele Grüße
Thomas