Seite 1 von 1

Aktuelles Datum per Schaltfläche einlesen: Entweder oder

Verfasst: Mo, 02.01.2012 08:22
von 6RaumTaxi
Hallo,

Zunächst möchte ich klarstellen, dass ich noch ziemlicher Laie auf dem Gebiet Datenbanken bzw. VBA-Programmierung bin.

Nun aber zu meinem Problem.

Ich bin dabei im OpenBase eine kleine Datenbank zur Betriebsdatenerfassung zu erstellen. Konkret sollen 3 Prozesse an einem Arbeitsplatz analysiert werden:

Rüsten, Bearbeitung, Leerlauf.

Meine Tabelle, die ich aufbauen möchte, hat nun folgende Spalten:

- ID
- Auftrags-Nr. (11stellig im Format: nnnn.nnnnnn)
- Auftragsstatus (0 = Rüsten; 1 = Bearbeitung; 2 = Leerlauf)
- Start Datum (TT.MM.JJJJ)
- Start Uhrzeit (HH:MM)
- Ende Datum
- Ende Uhrzeit
- Stückzahl

ich möchte nun, dass der Mitarbeiter die Auftragsnummer eintippt und anschließend seinen Auftragsstatus per Dropdown auswählt. Bis hierhin klappt alles problemlos.

Nun soll er aber per Button das aktuelle Datum und die aktuelle Uhrzeit entweder in die beiden Start-Felder oder in die beiden Ende-Felder einlesen können! Hier ist es egal ob es am Schluss 2 Buttons oder 4 sind.

Das bekomm ich leider überhaupt nicht hin :(


Ich will damit erreichen, dass ich im nächsten Schritt in einer Abfrage alle identischen Auftragsnummern rausfiltern kann, und dann die Dauer der einzelnen Arbeitsschritte (z.B. Start Bearbeitung bis Ende Bearbeitung) errechnen und analysieren kann.

Wäre um jede Hilfe dankbar, mein "Datumsproblem" zu lösen :)

Re: Aktuelles Datum per Schaltfläche einlesen: Entweder oder

Verfasst: Mo, 02.01.2012 12:24
von F3K Total
Hallo,
ich würde empfehlen, Deine vier Zeit/Datumsspalten in nur zwei vom Format TIMESTAMP zu ändern.
Dann sieht die Tabelle so aus:

ID [INTEGER]
Auftrags-Nr. [VARCHAR]
Auftragsstatus [INTEGER]
Start [TIMESTAMP]
Ende [TIMESTAMP]
Stückzahl [INTEGER]

In Dein Formular fügst Du nun zwei Schaltflächen (Buttons) ein.
- einen Button "Start". Trage im Entwurfsmodus des Formulares den Text Start in die Zusatzinformation der Eigenschaften des Buttons/Reiter "Allgemein" ein.
- einen Button "Ende". Trage im Entwurfsmodus des Formulares den Text Ende in die Zusatzinformation der Eigenschaften des Buttons/Reiter "Allgemein" ein.

Wenn Du dann folgendes Makro an das Ereignis "Aktion ausführen" der Buttons knüpfst, dann werden die gewünschten Zeiten bei Knopfdruck in die entsprechenden Spalten Start oder Ende eingetragen.

Code: Alles auswählen

Sub S_insert_Date_Time (event)

dim otimestamp as new com.sun.star.util.DateTime

obutton = event.source.model'Knopf Start oder Ende
oform = obutton.parent' Formular auf dem die Knöpfte sind
scolumn = obutton.tag 'Zusatzinformation des Knopfes auslesen->Spaltenname
'aktuelle Datum/Zeit einlesen
otimestamp.Day = day(now())
otimestamp.Month = month(now())
otimestamp.Year = year(now())
otimestamp.hours =  hour(now())
otimestamp.minutes =  minute(now())
otimestamp.seconds =  second(now())

ncolumn = oform.findcolumn(scolumn)'Spaltennummer ermitteln
oform.updatetimestamp(ncolumn,otimestamp)'Zeit in Spalte eintragen
if oform.isnew = true then 'sichern
  oform.insertrow()
else
  oform.updaterow()
endif

End Sub
Viel Erfolg
Gruß R
6RaumTaxi hat geschrieben:... VBA-Programmierung bin
Zur Info, wir reden hier von Starbasic, nicht von VBA, das wird bei Microsoft verwendet.

Re: Aktuelles Datum per Schaltfläche einlesen: Entweder oder

Verfasst: Di, 03.01.2012 09:29
von 6RaumTaxi
Nach ein paar Modifikationen funktioniert es nun wie geschmiert :)

Vielen, vielen Dank F3K!!!