Communication avec Client Access/AS400

Signaler
Messages postés
2
Date d'inscription
vendredi 14 juin 2002
Statut
Membre
Dernière intervention
14 juin 2002
-
Messages postés
1
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
1 mars 2008
-
Je voudrais pouvoir transmettre des données d'une appli VB vers les bons champs d'un prog tournant sous Client Access, qui lui, enregistre ses données sous AS400 (le but étant de transférer des données d'une BD Access vers un AS400).

J'ai déjà l'API permettant de dialoguer avec un AS400, mais je ne vois pas vraiment comment faire

Si quelqu'un a deja fait ce genre de boulot, et voit ma question, HELP!!!!!

8 réponses

Messages postés
124
Date d'inscription
mardi 19 février 2002
Statut
Membre
Dernière intervention
7 mars 2004
1
Si j'ai bien compris, tu veux envoyer des données de ton appli vb sur une machine distante qui a un client access. Je ne vois pas très bien où est le problème. Pour le résoudre, essaies de remplir les étapes suivantes :
Connexion à une bd distante
Lancer des requêtes sur ta base (une fois la connexion réalisée, c'est comme si elle était en local)
0
Messages postés
124
Date d'inscription
mardi 19 février 2002
Statut
Membre
Dernière intervention
7 mars 2004
1
Dim rstTest As ADODB.Recordset
Dim reqSQL as String
Global conn As New ADODB.Connection

Sub CréeConnexion()
conn.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<[adresseIp]+path+nom_fichier.mdb>"
conn.Open

reqSQL = "Select * from TestTable"

Set rcd = New ADODB.Recordset
rcd.ActiveConnection = dbDMS
rcd.Open strSelectSQL
With rcd
Do While Not .EOF
Debug.print !TestField1
Debug.print !TestField2
....
Debug.print !TestFieldN
.MoveNext
Loop
End With
rcd.close
con.close
End Function
0
Messages postés
120
Date d'inscription
jeudi 31 octobre 2002
Statut
Membre
Dernière intervention
2 août 2004

bonjour,

je suis parvenu à me connecter à l'as400 sans avoir besoin de créer une DNS. ci-dessous le code

Mais par contre, pas moyen d'accéder aux données d'un fichier. Si tu trouves, je suis preneur !

Sub memo()
'
' CONNEXION A L'AS400 OK
'
' RECHERCHE D'UN RECORDSET ?????????????,

'
Dim Strconnection1 As String
Dim Strconnection2 As String
Dim Strconnection As String
Dim Cnn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Cat As New ADOX.Catalog
Dim Tbl As New ADOX.Table
Dim Col As New ADOX.Column
Dim Strsql As String
Dim Index As Integer
Dim Dbq As String
Dim Cmd As Command
Dim Max As Integer

Dbq = "bib" ' bibliothèque as400

Strconnection1 = "driver=Client Access ODBC Driver (32-bit);" & _
"MGDSN = 0;" & _
"SEARCHPATTERN = 1;" & _
"ALLOWUNSCHAR = 0;" & _
"COMPRESSION = 0;" & _
"MAXFIELDLEN = 32;" & _
"SIGNON = 3;" & _
"SSL = 2;" & _
"SORTWEIGHT = 0;" & _
"LanguageID = ENU;" & _
"DFTPKGLIB = QGPL;"
Strconnection2 "PREFETCH 0;" & _
"SORTTYPE = 0;" & _
"CONNTYPE = 2;" & _
"REMARKS = 0;" & _
"LIBVIEW = 0;" & _
"LAZYCLOSE = 1;" & _
"TRANSLATE = 0;" & _
"SCROLLABLE = 0;" & _
"BLOCKSIZE = 32;" & _
"RECBLOCK = 2;" & _
"XDYNAMIC = 1;" & _
"DEC = 0;" & _
"TSP = 0;" & _
"TFT = 0;" & _
"DSP = 1;" & _
"DFT = 5;" & _
"NAM = 0;" & _
"DBQ = " & Dbq & ";" & _
"CMT = 0;" & _
"SYSTEM = nom_as400" ' nom de l'as400

Strconnection = Strconnection1 & Strconnection2
' ouverture de la connexion
Cnn.Open Strconnection

Set Cat.ActiveConnection = Cnn

'
' LECTURE DE LA BIBLIOTHEQUE
'
Dim I As Integer
Dim Coll As ADOX.Column

For Each Tbl In Cat.Tables 'CA MARCHE ! If Tbl.Type "table" Then ' tous les fichiers PHYSIQUES tables, sinon "VIEW"
Debug.Print Tbl.name & " - " & Tbl.Type

' liste les champs CA MARCHE !
For Each Coll In Tbl.Columns
Debug.Print Coll.name
Next Coll
End If
Next Tbl

End Sub

mais le recordset ??????

oiseau
0
Messages postés
7
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
3 avril 2010

Moi je me connecte à l'AS/400 mais en passant par acess.
J'attache mes tables acess aux tables As/400 et je travaille avec les tables as400 comme si elles étais acess.

Pour plus d'infoermations voici mon mail
ker_rousseil@yahoo.fr
0
Messages postés
7
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
3 avril 2010

Moi je me connecte à l'AS/400 mais en passant par acess.
J'attache mes tables acess aux tables As/400 et je travaille avec les tables as400 comme si elles étais acess.

Pour plus d'infoermations voici mon mail
ker_rousseil@yahoo.fr
0
Messages postés
2
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
29 septembre 2004

salut,
si j'ai bien compris, tu veux piloter client/access avec ton prog vb sans toucher directement aux bd de l'as400. en fait tu simule une saisie clavier sur client access grace a ton prog.
si c'est cela, ecrit moi a mon mail pastoutnet@hotmail.com, je l'ai fait et cela marche relativement bien
En fait j'ai trois sous programmes. un pour me connecter a cleint access, un pour envoyer les donnees sur cleint/access et un pour lire ce qui est affiche sur le cleint/access
0
Messages postés
1
Date d'inscription
vendredi 29 octobre 2004
Statut
Membre
Dernière intervention
30 octobre 2004

Voila la soution

'
' CONNEXION A L'AS400 OK
'
' RECHERCHE D'UN RECORDSET ?????????????,

'
Dim Strconnection1 As String
Dim Strconnection2 As String
Dim Strconnection As String
Dim Cnn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Cat As New ADOX.Catalog
Dim Tbl As New ADOX.Table
Dim Col As New ADOX.Column
Dim Strsql As String
Dim Index As Integer
Dim Dbq As String
Dim Cmd As Command
Dim Max As Integer

Dbq = "NOMBIB" ' bibliothèque as400

Strconnection1 = "driver=Client Access ODBC Driver (32-bit);" & _
"MGDSN = 0;" & _
"SEARCHPATTERN = 1;" & _
"ALLOWUNSCHAR = 0;" & _
"COMPRESSION = 0;" & _
"MAXFIELDLEN = 32;" & _
"SIGNON = 3;" & _
"SSL = 2;" & _
"SORTWEIGHT = 0;" & _
"LanguageID = ENU;" & _
"DFTPKGLIB = QGPL;"
Strconnection2 "PREFETCH 0;" & _
"SORTTYPE = 0;" & _
"CONNTYPE = 2;" & _
"REMARKS = 0;" & _
"LIBVIEW = 0;" & _
"LAZYCLOSE = 1;" & _
"TRANSLATE = 0;" & _
"SCROLLABLE = 0;" & _
"BLOCKSIZE = 32;" & _
"RECBLOCK = 2;" & _
"XDYNAMIC = 1;" & _
"DEC = 0;" & _
"TSP = 0;" & _
"TFT = 0;" & _
"DSP = 1;" & _
"DFT = 5;" & _"NAM 1;" & "DBQ " & Dbq & ";" & "CMT = 0;" & "SYSTEM = IP"

Strconnection = Strconnection1 & Strconnection2
' ouverture de la connexion
Cnn.Open Strconnection
Set Cat.ActiveConnection = Cnn
'---------------------------------------------

'Lecture des des Données de la table
Set Rst = New ADODB.Recordset
Rst.Open "select * from " + "NOM FICHIER", Cnn, adOpenStatic, adLockOptimistic
J = 0
Do While Not Rst.EOF
MsgBox Rst("J")
J = J + 1
Loop

'LECTURE DEs Tables et Champs
Dim I As Integer
Dim Coll As ADOX.Column
For Each Tbl In Cat.Tables 'CA MARCHE !
MsgBox Tbl.Name & " - " & Tbl.Type
'liste les champs CA MARCHE !
For Each Coll In Tbl.Columns
MsgBox Coll.Name
Next Coll
Next Tbl
'----------------------
End Sub
0
Messages postés
1
Date d'inscription
samedi 1 mars 2008
Statut
Membre
Dernière intervention
1 mars 2008

bonjour, je veux connecter un client access avec AS400, comment je fais, aidez moi SVP !!!!!!!!!!!
0