Domino 9 und frühere Versionen > Entwicklung

ArrayAppend: Hilfe benötigt

(1/3) > >>

Don Pasquale:
Hallo Leute,

ich habe in einer SQL Datenbank mehrere Datensätze, die ich
in einem Notesfeld darstelen möchte.

Leider klappt die Zeile mit dem ArrayAppend nicht.
Kann mir da jemand helfen ?

Ich möchte zudem Speicherschonender programmieren,
welche Objekte muß ich in dieser Funktion auf Null
setzten?

Ciao

Don Pasquale

Function getNotiz ( DOC_ID As String ) As Variant
   
   Dim NOTIZFELD() As String
   
   Dim DSN As String
   Dim USER As String
   Dim PASSW As String
   
   DSN = getODBC("E4IHK","DSN")
   USER = getODBC("E4IHK","USER")
   PASSW = getODBC("E4IHK","PASSW")
   
   Dim SQL As String
   Dim iNotiz As Integer
   Dim Con As New ODBCConnection     
   Dim Qry As New ODBCQuery  
   Dim res As New ODBCResultSet  
   Dim Notizzeile As String
   Dim nUser As String
   
   If Not Con.ConnectTo(DSN, USER, PASSW)   Then
      Messagebox " Keine Verbindung zur e4\IHK Datenbank" & Chr$(10) & "Überprüfen Sie bitte den DSN Wert in Ihrem Profildokument" & Chr$(10) & "e4_lib: INDEXIEREN2"
      Exit Function
   Else
      SQL = "Select  USER_ID, NOTIZTEXT FROM FIRMENAKTE_NOTIZ WHERE DOC_ID = " & Chr$(39) & DOC_ID & Chr$(39)
      
      Set Qry.Connection = Con
      Qry.SQL = SQL
      Set res.Query = Qry
      
      
      If Not res.Execute Then
         Messagebox _
         res.GetExtendedErrorMessage,, res.GetErrorMessage
         Exit Function
      Else
         RetCode% = res.FirstRow              
         
         nUSER = res.GetValue( "USER_ID" )
         NOTIZZEILE = nUSER & " " & res.GetValue( "NOTIZTEXT" ) & Lf
         NOTIZFELD(0) = NOTIZZEILE         
         Call res.NextRow
         Do While Not res.IsEndOfData
            nUSER = res.GetValue( "USER_ID" )
            NOTIZZEILE = nUSER & " " & res.GetValue( "NOTIZTEXT" ) & Lf
'            NOTIZFELD = Arrayappend( NOTIZFELD , NOTIZZEILE)               
            Call res.NextRow
         Loop
         getNotiz = NOTIZFELD      
      End If
   End If
   
   
   
   
   
End Function

ata:
... das liegt an deinem .GetValue => liefert ein Array => Array und Textstring gibt Type mismatch...

ata

Don Pasquale:
@ata :

Wirklich ? Ich dachte
res.GetValue( "NOTIZTEXT" )

gibt mir einen String ?

Kannitverstan

Don Pasquale

ata:
... sorry, ich war zu schnell - der fehler könnte in der Dimensionierung deines Array liegen - ein Redim NotizFeld(0 to 0) fehlt...

ata

Performance:

--- Zitat ---[quote Ich möchte zudem Speicherschonender programmieren,

--- Ende Zitat ---


 :o :o  Begeisterung  :o :o

seit es windows von gates gibt(und RAM ohne Ende) denkt keiner mehr an Speicheroptimierung

res.getvalue  gibt einen string zurück
Arrayappend  - macht das was der Name schon sagt - ein variant an ein array anhängen - du hast aber eine string und kein variant


cu

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln