Seite 1 von 1
Makro in Base
Verfasst: Sa, 17.03.2012 14:36
von xedp3x
Ich möchte das ein wert in eine Tabelle reingeschrieben wird.
Bei
Code: Alles auswählen
Form.GetByName("Rückliferung").date = Control.GetByName("RuckL").date
wird zwar "date" gesetzt aber in der Tabelle ändert sich nichts.
Code: Alles auswählen
Form.GetByName("Rückliferung").BoundField.updatedate(Control.GetByName("RuckL").Date)
liefert nur einen Fehler.
Weiß jemand was ich da machen kann?
Code: Alles auswählen
Sub Bearb (Event As Object)
Dim Form As object
Dim Control As Object
Form=Event.Source.Model.Parent
if IsEmpty(Form.GetByName("Rückliferung").Date) then
Control=Form.Parent.Parent.GetByName("Formular1")
Control.Filter="( Passe.BE = '"+Event.Source.Text +"' )"
Control.ApplyFilter=True
Control.reload()
Form.GetByName("Rückliferung").BoundField.updatedate(Control.GetByName("RuckL").Date)
end if
End Sub
Re: Makro in Base
Verfasst: Sa, 17.03.2012 15:15
von lorbass
Du hast die obligatorischen Standard-Infos vergessen!
- Welches Betriebssystem?
- Welche OOo- / LO-Version?
xedp3x hat geschrieben:… liefert nur einen Fehler.
Welchen?
Hast du schon mal probiert, ohne Umlaute zu arbeiten? Wenn nicht, versuch's mal mit
Ruecklieferung statt
Rückliferung.
Gruß
lorbass
Re: Makro in Base
Verfasst: Sa, 17.03.2012 16:25
von xedp3x
lorbass hat geschrieben:Du hast die obligatorischen Standard-Infos vergessen!
Ich glaub nicht das es daran liegt, da auch ein "BASIC-Fehler" auftritt.
Windows 7 mit LO 3.4
MySQL über den MySQL-Konector
lorbass hat geschrieben:
Hast du schon mal probiert, ohne Umlaute zu arbeiten? Wenn nicht, versuch's mal mit Rueckliferung statt Rückliferung.
Die Tabellen werden richtig abgerufen und ich kann auch ohne Probleme schreiben.
Ich weiß nur nicht wie ich aus dem Script heraus Daten ändern kann.
Die Fehlermeldung ist:
Wenn ich das Datum als String übergeben funktioniert das schreiben in die DB, wobei aber immer 1.1.1800 geschrieben wird. oO
Code: Alles auswählen
dim Back as String
Back = D & "." & M & "." & Y
Form.GetByName("Rückliferung").BoundField.updatestring(Back)
Re: Makro in Base
Verfasst: Sa, 17.03.2012 16:51
von xedp3x
Ich hab es gefunden...
Die wollen das Datum in Amerikanischer Schreibweise haben.
Code: Alles auswählen
Sub Bearb (Event As Object)
Dim Form As object
Dim Control As Object
Form=Event.Source.Parent
if IsEmpty(Form.GetByName("Rückliferung").Date) then
Control=Form.Parent.Parent.GetByName("Formular1")
Control.Filter="( Passe.BE = '"+Event.Source.Text +"' )"
Control.ApplyFilter=True
Control.reload()
if (Control.GetByName("RuckL").Date <> 0) then
Dim Y,M,D AS Long
Dim I AS Long
I = Control.GetByName("RuckL").Date
D = I Mod 100
I = I \ 100
M = I Mod 100
I = I \ 100
Y = I
dim Back as String
Back = Y & "-" & M & "-" & D
Form.GetByName("Rückliferung").BoundField.updatestring(Back)
end if
end if
End Sub
Re: Makro in Base
Verfasst: Sa, 17.03.2012 18:49
von lorbass
xedp3x hat geschrieben:Die wollen das Datum in Amerikanischer Schreibweise haben.
Nö. Was du zusammenstellst, ist eine in
ISO 8601 standardisierte Schreibweise des Datums. Zum Nachlesen:
Gruß
lorbass
Re: Makro in Base
Verfasst: So, 18.03.2012 11:52
von xedp3x
In der Form kann man auch 12.3 eingeben und er weiß sofort das ich damit 12.3.12 meine und schreibt es dann mit 2012-03-12 in die DB.
im Script will er zumindest 2012-3-12 haben.