Domino 9 und frühere Versionen > Entwicklung

ODBC Problem

<< < (5/7) > >>

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