Newsgroup: it.comp.lang.visual-basic
Titolo: scrivere su file as400 da vb6

salve a tutti, è la prima volta che scrivo in questo gruppo e sepero
tanto che qualcuno di voi mi possa aiutare.
ho creato un programmino in vb6 nel quale accedo a dei dati su un db2
di as400 tramite odbc, finchè devo solo leggere i dati tutto bene, il
problema nasce quando devo scrivere su un file as400. il codice che ho
scritto è il seguente:
  Global mcnDbAS As ADODB.Connection
  Global mrsTbAS  As ADODB.Recordset
  Global query As String
  Global mbConnessoAS As Boolean
  Global mbConnessoRs  As Boolean
Public Function CollegaAS() As Boolean
    On Error GoTo CollegaAS_Err
    CollegaAS = False
    mbConnessoAS = False
    ' In fase di creazione della connessione testo sempre se esiste
già una
    ' connessione aperta, se esiste la chiudo e la resetto
    If Not mcnDbAS Is Nothing Then
      If mcnDbAS.State = adStateOpen Then
        mcnDbAS.Close
      End If
      Set mcnDbAS = Nothing
    End If
    Set mcnDbAS = CreateObject("ADODB.Connection")
    mcnDbAS.ConnectionString = "Driver={Client Access ODBC Driver
(32-bit)};System=xxx;" + _
                              "User ID=xxx; Password=xx"
    mcnDbAS.Open
    DoEvents
    CollegaAS = True
    mbConnessoAS = True
    Exit Function
CollegaAS_Err:
    MsgBox Err.Number & " - " & Err.Description
    If Not mrsTbAS Is Nothing Then
      If mrsTbAS.State = adStateOpen Then
        mrsTbAS.Close
      End If
      Set mrsTbAS = Nothing
      mbConnessoRs = False
    End If
    If Not mcnDbAS Is Nothing Then
      If mcnDbAS.State = adStateOpen Then
        mcnDbAS.Close
      End If
      Set mcnDbAS = Nothing
      mbConnessoRs = False
    End If
  End Function
Public Function CollegaRs(bReadOnly As Boolean, query As String) As
Boolean
  On Error GoTo CollegaRs_Err
  CollegaRs = False
  mbConnessoRs = False
  If Not mrsTbAS Is Nothing Then
    If mrsTbAS.State = adStateOpen Then
      mrsTbAS.Close
    End If
    Set mrsTbAS = Nothing
  End If
  Set mrsTbAS = CreateObject("ADODB.Recordset")
  If bReadOnly Then
    mrsTbAS.LockType = adLockReadOnly
    mrsTbAS.CursorLocation = adUseClient
    mrsTbAS.CursorType = adOpenStatic
  Else
    mrsTbAS.LockType = adLockOptimistic
    mrsTbAS.CursorLocation = adUseClient
    mrsTbAS.CursorType = adOpenKeyset
  End If
  Set mrsTbAS.ActiveConnection = mcnDbAS
  mrsTbAS.Open " " & query & " ", mcnDbAS
  DoEvents
  CollegaRs = True
  mbConnessoRs = True
  Exit Function
CollegaRs_Err:
    If Not mrsTbAS Is Nothing Then
      If mrsTbAS.State = adStateOpen Then
        mrsTbAS.Close
      End If
      Set mrsTbAS = Nothing
      mbConnessoRs = False
    End If
    If Not mcnDbAS Is Nothing Then
      If mcnDbAS.State = adStateOpen Then
        mcnDbAS.Close
      End If
      Set mcnDbAS = Nothing
      mbConnessoAS = False
    End If
  End Function
Private Sub Command1_Click()
    query = "SELECT * FROM APICEVILLA.ORVAR00F"
    Call CollegaRs(False, query)
    Elabora
End Sub
Private Sub Form_Load()
    CollegaAS
End Sub
Sub Elabora()
    Dim btrans As Boolean
    Dim buffer As String
    mrsTbAS.AddNew
    mrsTbAS.Fields("OCODI") = Form1.codice.Text
    mrsTbAS.Fields("OVARIE") = Form1.descri.Text
    mrsTbAS.Update
    mcnDbAS.CommitTrans
    btrans = False
End Sub
quando vado ad aggironare i dati sull'as400 mi restituisce il seguente
errore:
Run-Time error'-
2147217887
(80040e21)':
si sono verificati errori in un'operazione composta da più
passaggi.Controllare i singoli valori di stato.
io ho controllato, controllato e controllato ma non trovo niente. ho
fatto anche una ricerca sul web ma non ho risolto niente.
qualcuno può aiutarmi
saluti e grazie

 End Sub

-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 End Sub



ciao ho provato solo ora il tuo suggerimento ed è finalmente sono
riuscita a scrivere sull'as400
grazie e mille per il suggerimento
saluti
lampo ha scritto:


ciao ho provato solo ora il tuo suggerimento e finalmente è andato
tutto bene
ti ringrazio tantissimo
saluti
lampo ha scritto:
