Makro in Base

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro in Base

Re: Makro in Base

von xedp3x » So, 18.03.2012 11:52

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.

Re: Makro in Base

von lorbass » Sa, 17.03.2012 18:49

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

von xedp3x » Sa, 17.03.2012 16:51

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

von xedp3x » Sa, 17.03.2012 16:25

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:

Code: Alles auswählen

BASIC-Laufzeitfehler
Objektvariable nicht belegt


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

von lorbass » Sa, 17.03.2012 15:15

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

Makro in Base

von xedp3x » Sa, 17.03.2012 14:36

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

Nach oben