Hallo Ihr OO-Profis,
Ich arbeite im Außendienst in diversen Werkstätten. Ich mache meine Termine selber. Um mir dies in Zukunft zu erleichtern wollte ich mir ein kleine Datenbank zur Terminkoordinierung basteln.
Von meinem Auftraggeber bekomme ich Einen Auftrag (mit Nr =ID) in Form eine eines EXECEL Dokuments mit mindestens 2 Tabellen. Auf diesen beiden Blättern muss ich mir den Kunden (eigene ID), die letzte Werkstatt (noch eine ID), das Kennzeichen seines Fahrzeugs (noch ne ID) und ein paar Zusatz infofs zusammen suchen. Leider sind alle wichtigen Daten kreuz und quer in den Tabellen in immer gleichen Feldern verstreut.
Wie kann ich mittels eines Macros diese Felder auslesen und in meine neue Datenbank einfügen?
Ich weiß, dass dieses Unterfangen nicht in zwei Sätzen zu erklären sein wird. Ich bin jetzt aber schon seit vier Wochen an dem Thema drann und komm einfach nicht vorann. Vieleicht hab ich auch einfach zuwenig Grundwissen. Dann bitte ich noch einmal um gute Literaturempfehlungen rund um OO, Base und BASIC.
Ahoi aus Hamburg
Christian
Ps.: Sollte diese Frage eigentlich an das BASIC Forum gestellt werden?
Calc Felder zu Base / Autragsabwicklung
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Hallo Christian,
ich finde die Frage in diesem Forum erstmal richtig plaziert. Du fragst konkret mit einem Anwendungsbeispiel, da können mehr Lösungen kommen, als "nur" im Basic-Forum.
Einfachste Möglichkeit, die ich sehe:
XLS vom Auftraggeber öffnen
F4 Datenbankbrowser, Tabelle anzeigen (wo die Daten hin sollen)
mit Kopieren&Einfügen in die Ziel-Tabellespalte
Das geht bei 3-5 Aufträgen pro Woche.
Allerdings, ....
Du fragst ziemlich konkret nach "auslesen von Feldern" [Zellen] und einfügen....
...und, wenn
Beispiel Calc-Zell-Zugriff
Beispiel Zugriff interne HSQLDB
Ähnlich sollten auch INSERTs gehen. Ist -natürlich- vom Aufbau Deiner Datenbank abhängig.
Programmier-Tipps?
Auch schon oft behandelt (->"Suchen"-Funktion)
Beispiele von http://www.ooomacros.org (dort auf jeden Fall XRay besorgen) und http://www.pitonyak.org
Viel Erfolg
ich finde die Frage in diesem Forum erstmal richtig plaziert. Du fragst konkret mit einem Anwendungsbeispiel, da können mehr Lösungen kommen, als "nur" im Basic-Forum.
Einfachste Möglichkeit, die ich sehe:
XLS vom Auftraggeber öffnen
F4 Datenbankbrowser, Tabelle anzeigen (wo die Daten hin sollen)
mit Kopieren&Einfügen in die Ziel-Tabellespalte
Das geht bei 3-5 Aufträgen pro Woche.
Allerdings, ....
Du fragst ziemlich konkret nach "auslesen von Feldern" [Zellen] und einfügen....
...und, wenn
sind, dann suche Dir hier Code-Beispiele zusammen.die wichtigen Daten kreuz und quer in den Tabellen in immer gleichen Feldern verstreut
Beispiel Calc-Zell-Zugriff
Code: Alles auswählen
oSheet=ThisComponent.Sheets.getByName("Tabelle1")
msgbox oSheet.getCellByposition(0,0).String
Code: Alles auswählen
' Kontext holen
oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
' Datenquelle auswählen
oDatenquelle = oDatenbankKontext.getByName( "OpenOffice" )
' Verbindung zur DB herstellen
oVerbindung = oDatenquelle.getConnection( "" , "")
' Statement erzeugen
oStatement = oVerbindung.createStatement
sSQL = "SELECT * From ""t_bereich"" ;"
' Abfrage absetzen
oResultSet = oStatement.executeQuery( sSQL )
while oResultSet.next()
' Spalte ausgeben
emplName = oResultSet.getString( 2 )
msgbox emplName
Wend
oVerbindung.close()
Programmier-Tipps?
Auch schon oft behandelt (->"Suchen"-Funktion)
Beispiele von http://www.ooomacros.org (dort auf jeden Fall XRay besorgen) und http://www.pitonyak.org
Viel Erfolg
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)