Ajouter les Dossiers De Requête de Relais à la Table Locale
J'ai une Base de données Access et je suis en utilisant un passage par la requête pour renvoyer des enregistrements à partir d'un AS400 table. La chaîne de connexion et passage par la requête fonctionne correctement, mais maintenant, je suis en train de remplir les résultats de la p-t de la requête dans une table locale au sein de la db et mon code est le moment de sortir. C'est ma première tentative à l'ADO, donc je suis, rejettent mon code avec "je ne suis pas 100% sûr de ce que je suis en train de faire!". Pourriez-vous examiner cette question et de voir si il ya une chose que je fais mal? N'importe quelle direction serait appréciée. Je vous remercie à l'avance.
Sub mod_ADODBConnect()
Const NewTableName = "MyNewTable"
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim db As DAO.Database
Dim sSQL1 As String
Dim sSQL2 As String
sSQL1 = "SELECT ITMNUM, ITMDS, ITPKDS, MJCMCD, SBCMCD, STATUS, PRITIN, OGEXDT from PDBLLIB007.BLPMST07"
sSQL2 = "INSERT INTO ' & NewTableName & ' SELECT [" & sSQL1 & "].* from [" & sSQL1 & "]"
Set cn = New ADODB.Connection
cn.Open "Driver={Client Access ODBC Driver (32-bit)};" & _
"System=DC007; Uid=XXXXX; Pwd=XXXXXX; MgDSN=0; ConnType=2;" & _
"BlockSize=512; MaxFieldLen=2048; LazyClose=1; Prefetch=1; QueryTimeOut=0; Translate=1"
Set rs = New ADODB.Recordset
rs.Open sSQL1, cn, adOpenDynamic, adLockOptimistic
Do While Not rs.EOF
rs.MoveNext
Loop
Set db = CurrentDb
db.Execute ("sSQL2")
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
Set db = Nothing
End Sub
- Avez-vous envisagé une table liée ( itknowledgeexchange.techtarget.com/itanswers/... ) ?
Vous devez vous connecter pour publier un commentaire.
Vous avez un passe-requête qui fonctionne très bien et renvoie les lignes que vous voulez. Maintenant, vous voulez stocker ces lignes dans un nouveau local (Jet/ACE) de la table. Me semble une approche plus simple serait d'utiliser le pass-through comme source de données dans un nouveau "faire table de la requête".
Oops, on dirait que vous vouliez ajouter ces lignes à une table existante.
Si la table structures ne correspondent pas, vous pouvez utiliser le champ des listes pour les deux tableaux.
CurrentDb
pour exécutersSQL2
. Je pense que " l'Accès db moteur va se plaindre au sujet de "de l'PDBLLIB007.BLPMST07" Et il y a peut être d'autres problèmes. Je n'ai pas compris le point d'ouvrir le jeu d'enregistrements.