Domino 9 und frühere Versionen > Entwicklung
ODBC Problem
ata:
... wenn du die Werte in einem Array hast, dann kannst du die Werte zum Beispiel wie folgt einem Feld zuweisen
NotesDocument.Feldname = DeinArray
... damit sind die Werte in deinem MultipleValue-Feld
Auf dieses Feld bezieht sich deine Auswahliste. Als Formel verwendest du den Feldnamen...
... eventuell benötigst du noch einen Refresh, damit die Liste aktuell verwendet werden kann...
ata
MisterDa:
also, ich bin jetzt soweit, dass ich alle Daten in meinem Feld hab, jetzt versteh ich nicht das weitere Vorgehen, bzw. weis nicht was oder wie ich das anstellen soll..
Sub Entering(Source As Field)
Dim Con As New ODBCConnection
Dim Qry As New ODBCQuery
Dim Res As New ODBCResultSet
Dim IsConnected As Integer
Dim sValue As String
Dim typ As String
Dim ausdruck As String
Dim feld() As String
Dim counter As Integer
counter = 0
typ = "D0084"
ausdruck = "SELECT * FROM Gerät WHERE GeräteTyp = '"& typ & "'"
IsConnected = Con.ConnectTo("RekDB2")
Set Qry.Connection = Con
Qry.SQL = ausdruck
Set Res.Query = Qry
Res.Execute
IsConnected = Res.FirstRow
Do While IsConnected = True
Redim Preserve feld(counter) As String
feld(counter) = Res.GetValue("SNr")
IsConnected = Res.NextRow
counter = counter+1
Loop
' # ... die ODBC-DB schließen...
IsConnected = Res.Close( DB_CLOSE )
' # ... die ODBC-Verbindung schließen.
IsConnected = Con.Disconnect
End Sub
MisterDa
ata:
... die werte hast du ja nun in deinem Array "Feld"
Jetzt muß dieses Array einem Feld in deinem Dokument zugewiesen werden. Du hast den Code im Initialze eines Feldes. Hier ist der Code nicht optimal, nimm den Code ins PostOpen, da ist der Code besser positioniert. Im Initialze dieses Feldes wird niemand nach dem Code suchen - und das macht für späteree Entwickler die Suche schwerer und unübersichtlicher...
... ich nenne das Feld zur Aufnahme der Liste mal "ListODBC"
... der Code ist im Postopen plaziert...
Dim ws As New NotesUIWorkspace
Dim docThis As NotesDocument
' # hier der Code, den du schon hast
Set docThis = Source.Document
' # die Zuweisung der Liste
docThis.ListODBC = feld
Call Source.refresh
... deine Auswahlliste bezieht die Werte nun per Formel. Als Formel gibst du den Namen des Listenfeldes ein, also ...
ListODBC
... ein hinweis sei noch erlaubt, Listenfelder haben eine Begrenzung in der Datenmenge...
ata
MisterDa:
Danke!
ich hab jetzt noch ein Problem..er zeigt mir die Werte in der Dialogliste und im ListODBC-Feld nacheinander mit Komma an (nr1, nr2, nr3, ...) ..ich hätte sie aber gerne wie in ner normalen Dialogliste untereinander einzeln anwählbar...geht das?
die max Size beträgt diese ominösen 64k oder?
MisterDa
ata:
... ich denke in diesem Fall 32KByte
... daß du die Werte mit Kommas angezeigt bekommst, hängt mit dem Listenfeld - ich hatte es ListODBC genannt - zusammen. Du mußt diesem Feld die Eigenschaft geben Mehrfachwerte zulassen und im dritten Register werte trennen bei "Neue Zeile" , Werte anzeigen "mit neuer Zeile" administrieren, dann müßten die Kommas weg sein...
... da fällt mir noch was ein, in deinen werten sollten auf keinen Fall Kommas oder Semikolons sein, das kann Notes bei Auswahlfeldern ins Schleudern bringen...
ata
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln