von rblock » Do, 02.06.2005 12:23
Hi Michael,
was sagst Du dann dazu:
http://www.dannenhoefer.de/faqstarbasic ... oxen..html?
oder dazu:
Code: Alles auswählen
REM ***** BASIC *****
REM *** (c) T. Krumbein, M.I.C. Consulting ***
REM *** www.mic-consulting.de ***
REM *** Für private Nutzung frei, solange ***
REM *** der Hinweis hier nicht entfernt ***
REM *** wird. ***
Dim oD1 as Object 'Dialog 1 (Eingabemaske) definieren
Dim myDoc as Object 'Dokument definieren
Dim oT1 as Object, oT2 as Object 'Tabelle "Liste" und "Daten" definieren
Dim nNeueDatSatz as integer 'Neue DatensatzZeilennummer
Dim nLastKm as integer
Dim dZeitCh as date 'Zeitspanne bei Änderung
'------------------------------
'------------------------------
Sub main
myDoc=ThisComponent
oT1=myDoc.sheets(1)
oT2=myDoc.sheets(2)
'--- Maske initialisieren
DialogLibraries.LoadLibrary( "Standard" )
oD1 = CreateUnoDialog( DialogLibraries.Standard.Maske )
initMaske
oD1.Execute()
end sub
'---------Formular initialisieren und Werte eintragen
Sub initMaske
'--- Neue Zeilennummer erzeugen
nNeueDatSatz = oT2.getCellRangeByName("b1").value + 11
'--- Zeitspanne eintragen
dZeitCH = oT2.getCellRangeByName("b3").value
'--- Neue Datensatznummer eintragen
oD1.getcontrol("DatSatzNr").text= nNeueDatSatz - 10
'--- letzten Kilometerstand ermitteln und eintragen
oD1.getcontrol("kmAbf").value = oT1.getCellRangeByName("H"&nNeueDatSatz-1).value
'---letztes Datum ermitteln, ein Tag addieren und eintragen
dim dTagAnk as date
dTagAnk = oT1.getCellRangeByName("i"&nNeueDatSatz-1).value+1
oD1.getcontrol("databf").text = dTagAnk
'---Auswahllisten mit Daten füllen
FuellListe("AbfOrt", "d", 2, 10) 'Fuellliste("Liste", Spalte, Zeile, Anzahl Elemente)
FuellListe("AnkOrt", "d", 2, 10)
FuellListe("FahrtG", "d", 15, 10)
FuellListe("Fahrer", "A", 10, 5)
'---Eingabefelder Inhalte löschen
[...]
End Sub
'-----Auswahllisten füllen
sub FuellListe(Liste, spalte, zeile, eNr)
FFeld=oD1.getcontrol(Liste)
FFeld.removeitems(0, eNr)
for i=0 to eNr
adr="$"+spalte+"$"+(i+zeile)
inhalt=oT2.getCellRangeByName(adr).string
FFeld.additem(inhalt,i)
next
FFeld.additem("",0)
end sub
[...]
Als das Beispiel funktioniert und die Komboboxen werden gefüllt...
Nachdenkliche Grüße
Hi Michael,
was sagst Du dann dazu: [url]http://www.dannenhoefer.de/faqstarbasic/WelcheBesonderheitengibtesbeiComboboxen..html[/url]?
oder dazu:
[code]REM ***** BASIC *****
REM *** (c) T. Krumbein, M.I.C. Consulting ***
REM *** www.mic-consulting.de ***
REM *** Für private Nutzung frei, solange ***
REM *** der Hinweis hier nicht entfernt ***
REM *** wird. ***
Dim oD1 as Object 'Dialog 1 (Eingabemaske) definieren
Dim myDoc as Object 'Dokument definieren
Dim oT1 as Object, oT2 as Object 'Tabelle "Liste" und "Daten" definieren
Dim nNeueDatSatz as integer 'Neue DatensatzZeilennummer
Dim nLastKm as integer
Dim dZeitCh as date 'Zeitspanne bei Änderung
'------------------------------
'------------------------------
Sub main
myDoc=ThisComponent
oT1=myDoc.sheets(1)
oT2=myDoc.sheets(2)
'--- Maske initialisieren
DialogLibraries.LoadLibrary( "Standard" )
oD1 = CreateUnoDialog( DialogLibraries.Standard.Maske )
initMaske
oD1.Execute()
end sub
'---------Formular initialisieren und Werte eintragen
Sub initMaske
'--- Neue Zeilennummer erzeugen
nNeueDatSatz = oT2.getCellRangeByName("b1").value + 11
'--- Zeitspanne eintragen
dZeitCH = oT2.getCellRangeByName("b3").value
'--- Neue Datensatznummer eintragen
oD1.getcontrol("DatSatzNr").text= nNeueDatSatz - 10
'--- letzten Kilometerstand ermitteln und eintragen
oD1.getcontrol("kmAbf").value = oT1.getCellRangeByName("H"&nNeueDatSatz-1).value
'---letztes Datum ermitteln, ein Tag addieren und eintragen
dim dTagAnk as date
dTagAnk = oT1.getCellRangeByName("i"&nNeueDatSatz-1).value+1
oD1.getcontrol("databf").text = dTagAnk
'---Auswahllisten mit Daten füllen
FuellListe("AbfOrt", "d", 2, 10) 'Fuellliste("Liste", Spalte, Zeile, Anzahl Elemente)
FuellListe("AnkOrt", "d", 2, 10)
FuellListe("FahrtG", "d", 15, 10)
FuellListe("Fahrer", "A", 10, 5)
'---Eingabefelder Inhalte löschen
[...]
End Sub
'-----Auswahllisten füllen
sub FuellListe(Liste, spalte, zeile, eNr)
FFeld=oD1.getcontrol(Liste)
FFeld.removeitems(0, eNr)
for i=0 to eNr
adr="$"+spalte+"$"+(i+zeile)
inhalt=oT2.getCellRangeByName(adr).string
FFeld.additem(inhalt,i)
next
FFeld.additem("",0)
end sub
[...]
[/code]
Als das Beispiel funktioniert und die Komboboxen werden gefüllt... :(
Nachdenkliche Grüße