Hallo,
und gleich noch eine Frage... Ich bekomme keine Werte in eine Combobox geschrieben? Bei folgendem Script kommt die Fehlermeldung, dass die Typen unverträglich sind:
Dim oDatabase
Dim oView
Dim oRecord
Dim sSQL
Dim oInstaller
MsgBox "01"
Set oDatabase = Session.Database
Set oView = oDatabase.OpenView("SELECT * FROM ComboBox WHERE Property='ANZEIGE'")
Set oInstaller = Session.Installer
Set oRecord = oInstaller.CreateRecord(4)
If Not oRecord Is Nothing Then
'Set the property of the control to which the
oRecord.StringData(1) = "ANZEIGE"
oRecord.IntegerData(2) = 1
oRecord.StringData(3) = "qwewqe"
oRecord.StringData(4) = "dfgdfg"
End If
On Error Resume Next
'Read/Write on to the view
oView.Modify 7,oRecord
MsgBox "03"
On Error Resume Next
Set oView = oDatabase.OpenView(sSQL)
If Err.Number <> 0 Then
MsgBox "Error " & Err.Number & " : " & Err.Description
On Error Goto 0
MsgBox "Error"
End If
MsgBox "04"
oView.Close
Set oView = Nothing
Set oDatabase = Nothing
Set oInstaller = Nothing
Set oRecord = Nothing
Und bei diesem läuft das Script aber es werden keine Daten angezeigt (Height ist auf 100)
Dim oDatabase
Dim oView
Dim sSQL
Set oDatabase = Session.Database
sSQL = "SELECT * FROM ComboBox WHERE Property = 'ANZEIGE'"
MsgBox "01"
On Error Resume Next
Set oView = oDatabase.OpenView(sSQL)
If (Err.Number <> 0) Then
MsgBox "Error " & Err.Number & " : " & Err.Description
End If
MsgBox "02"
'oView.Execute
'Set oRecord = oView.Fetch
'MsgBox oRecord.StringData(4)
sSQL = "INSERT INTO `ComboBox` (`Property`, `Order`, `Value`, `Text`) VALUES ('ANZEIGE', 1123, '5', 'TestText' TEMPORARY"
MsgBox "03"
On Error Resume Next
Set oView = oDatabase.OpenView(sSQL)
If Err.Number <> 0 Then
MsgBox "Error " & Err.Number & " : " & Err.Description
On Error Goto 0
MsgBox "Error"
End If
MsgBox "04"
oView.Close
Set oView = Nothing
Set oDatabase = Nothing
Danke vorab!
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Werte in ComboBox schreiben?
Started by
Perry
, Jan 02 2003 17:31
6 replies to this topic
Posted 02 January 2003 - 19:15
Fehlt da (im zweiten Beispiel) nicht ein View.Execute?
Stefan Krüger
InstallSite.org twitter facebook
Posted 02 January 2003 - 21:33
ja fehlte (habe es nachträglich noch eingefügt)...und jetzt bekomme ich die Fehlermeldung -2147467259 Execute Params? Das zweite Script läuft fehlerfrei allerdings hält die ComboBox (oder auch ein Listfeld) sehr wenig davon (bleibt leer)... muss ich das noch irgendwie Refreshen oder gibt es eine Standardeinstellung bei der Combobox die umgestellt werden muss
schon mal vielen Dank!
schon mal vielen Dank!
Posted 02 January 2003 - 22:55
So jetzt funktioniert das zweite Script (Fehler lag darin, dass bereits ein Testwert als Items vorhanden war) allerdings zeigt die ComboBox noch immer Arbeitsverweigerung (keine Werte an???
Posted 03 January 2003 - 10:09
Also es ist definitiv ein Refresh Problem! Die Werte werden geschrieben und wenn ich in eine neue Maske wechsele und wieder zurück click dann sind die Werte auch sichtbar... Gibt es eine Refresh-Möglichkeit aus VBScript zu Installshield?
Posted 03 January 2003 - 11:38
NEIN - es geht wohl nicht??? Ich kann auch keine propertys von aktuellen Elementen (z.B. Button in der Dialogbox) ändern...?
Posted 04 January 2003 - 15:30
Die Combobox wird ausgefüllt (d.h. die ComboBox Tabelle gelesen) wenn der Dialog angezeigt wird. Danach ist ein Refresh nicht mehr möglich (jedenfalls kenne ich keine Methode). Es gibt einen Trick als Workaround. Beispiel: Beim Klick auf einen Button soll ein Eintrag hinzugefügt werden. Lege dazu eine Kopie des Dialogs an. Der Button ruft das Skript auf, dass den Eintrg zur ComboBox Tabelle hinzufügt. Dann wechselt er zur Dialog-Kopie. (Man kann nicht den gleichen Dialog aus sich selbst aufrufen, man muss eine Kopie verwenden)
Stefan Krüger
InstallSite.org twitter facebook