Kaufmännische Software für Handel, Handwerk und Produktionsbetriebe
Diese Dialogobjekt stellt eine Auswahlbox mit mehreren Wahlmöglichkeiten zur Verfügung. Desweiteren kann die Reihenfolge der Elemente über Drag und Drop verändert werden.
In diesem Beispiel wird ein Multi - Select - Dialog erzeugt, welcher drei
Einträge hat.
VBScript
option explicit
dim dialog, s, t, i
set dialog = Client.CreateDialog("Eulanda.MultiSelect","")
with dialog
.Add("Hallo")
.Add("Punkt 2")
.Add("Punkt 3")
if .Execute Then
s = ""
for i=0 to .Count-1
with .Items(i)
if .State = 1 Then
t = "ausgewählt"
else t = ""
end if
s = S & .Caption & " - " & t & vbCrLf
end With
Next
MsgBox s
end if
end With
set dialog = Nothing
In diesem Beispiel wird ein Multi-Select - Dialog erzeugt, welcher die
Auswahlmöglichkeiten aller Tabellenfelder hat und übergibt die Daten an eine
Exceltabelle. Die Schriftart der angezeigten Elemente wird hierbei über
BBS-Markup ausgezeihner.
VBScript option explicit dim dialog, s, t, i, rs, sql, cap, fn set dialog = Client.CreateDialog("Eulanda.MultiSelect","") sql = "SELECT name, vartyp=dbo.cnf_SqlVarDeclare('',xtype,prec,scale) " &_ " FROM syscolumns WHERE id = OBJECT_ID('Adresse') ORDER BY colId" Set rs = Client.ExecuteSql(sql) With dialog .IconUrl = "excel" .Title = "Excel-Export Adressen" .SubTitle = "Bitte wählen Sie die gewünschten Felder" do while not rs.Eof fn = rs.Fields("name").Value cap = "[b]" & fn & "[/b] - [blue]" &_ rs.Fields("vartyp").Value & " [/blue]" with .Add(Cap) .Data = fn end with rs.MoveNext loop set rs = Nothing if .Execute Then s = "" for i=0 to .Count-1 with .Items(i) if .State = 1 Then If s <> "" Then s = s & ", " end if s = s & .data end if end With Next end if end With set dialog = Nothing sql = "SELECT TOP 100 " & s & " FROM Adresse ORDER BY Match" Set rs = Client.ExecuteSql(sql) impex.excelNewWsCopyFromRecordset rs
In diesem Beispiel wird ein Multi - Select - Dialog erzeugt, welcher die
Auswahlmöglichkeiten aller Tabellenfelder hat. Nach dieser Auswahl wird man
gefragt wie hoch die Ergebnismenge sein soll. Diese Eingaben werden
ausgewertet und an Exceltabelle übergeben.
VBScript option explicit dim dialog, s, t, i, rs, sql, msg, inputResults set dialog = Client.CreateDialog("BETA.EUlanda.MultiSelect","") sql = "SELECT name FROM syscolumns WHERE id = OBJECT_ID('Adresse') ORDER BY colId" Set rs = Client.ExecuteSql(sql) With dialog do while not rs.Eof .Add(rs.Fields("name").Value) rs.MoveNext loop set rs = Nothing if .Execute Then s = "" for i=0 to .Count-1 with .Items(i) if .State = 1 Then If s <> "" Then s = s & ", " end if s = s & .Caption end if end With Next end if end With set dialog = Nothing '*********************************Programm-Start*********************************** inputSqlResults '*********************************Result-Abfrage*********************************** Sub inputSqlResults inputResults = InputBox("Geben sie die Maximalen Results ein :" ) sql = "SELECT TOP "& inputResults & s & " FROM Adresse ORDER BY Match" Set rs = Client.ExecuteSql(sql) impex.excelNewWsCopyFromRecordset rs End Sub