Communication avec Client Access/AS400

cs_PartyBoy Messages postés 2 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 14 juin 2002 - 14 juin 2002 à 10:35
cs_rosefleur Messages postés 1 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 1 mars 2008 - 1 mars 2008 à 15:11
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

cs_thitoune Messages postés 124 Date d'inscription mardi 19 février 2002 Statut Membre Dernière intervention 7 mars 2004 2
14 juin 2002 à 11:01
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
cs_thitoune Messages postés 124 Date d'inscription mardi 19 février 2002 Statut Membre Dernière intervention 7 mars 2004 2
14 juin 2002 à 11:24
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
carnez Messages postés 120 Date d'inscription jeudi 31 octobre 2002 Statut Membre Dernière intervention 2 août 2004
31 oct. 2002 à 18:27
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
Rousseil Messages postés 7 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 3 avril 2010
31 juil. 2003 à 21:04
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Rousseil Messages postés 7 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 3 avril 2010
31 juil. 2003 à 21:05
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
pastoutnet2 Messages postés 2 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 29 septembre 2004
10 août 2004 à 15:09
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
abraray Messages postés 1 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 30 octobre 2004
30 oct. 2004 à 04:12
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
cs_rosefleur Messages postés 1 Date d'inscription samedi 1 mars 2008 Statut Membre Dernière intervention 1 mars 2008
1 mars 2008 à 15:11
bonjour, je veux connecter un client access avec AS400, comment je fais, aidez moi SVP !!!!!!!!!!!
0
Rejoignez-nous