cs_miss_poopoucy
Messages postés22Date d'inscriptionmercredi 6 juin 2007StatutMembreDernière intervention23 juin 2011
-
23 juin 2008 à 11:28
misafredo
Messages postés12Date d'inscriptionsamedi 17 mars 2007StatutMembreDernière intervention19 juillet 2011
-
30 juin 2008 à 09:54
salut,
je cherche a importer des données depuis deux différentes msflexgrid vers ma bdd dans les ùmemes tables,et j'ai un msg d'erreur "Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres".
???????
j'ai essayé de travailler avec deux connexions mais sans resultat...
voila mon code:
Dim ct As ADODB.Connection
Dim rc_clt As ADODB.Recordset
Dim rc_ab As ADODB.Recordset
Dim rc_mt As ADODB.Recordset
Dim i, j, pos, ini, mrows, srows As Integer
Dim c As String
'*********************OUVERTURE DES TABLES*******************
'****************EXTRACTION DES DONNEES****************
'************MT*********************
Private Sub facture_mt()
Set rc_mt = New ADODB.Recordset
rc_mt.Open "Facture_MT", ct, adOpenDynamic, adLockOptimistic
'****************SAP******************
Sub facture_sap()
Set rc_sap = New ADODB.Recordset
rc_sap.Open "Facture_SAP", ct, adOpenDynamic, adLockOptimistic
cs_miss_poopoucy
Messages postés22Date d'inscriptionmercredi 6 juin 2007StatutMembreDernière intervention23 juin 2011 23 juin 2008 à 15:07
c bon c reglé j'ai travaillé avec la meme connexion mais dans deux differents formulaire selon MT et SAP.
merci pr l'aide.
youpiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 23 juin 2008 à 12:38
Salut
Où se produit cette erreur ? Sur quelle ligne ?
A vu de nez, je vois ceci :
rc_mt.Open "Facture_MT", ct, adOpenDynamic, adLockOptimistic
Ceci n'est pas une syntaxe correcte : Il manque la requète SQL.
On devrait y voir qqchose du genre :
rc_mt.Open "Select * From Facture_MT", ct, adOpenDynamic, adLockOptimistic
en supposant que Facture_MT est le nom de ta table
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
en respectant les règles de la syntaxe SQL :
Si le champ de ta DB est :
- Texte : Encadrer le contenu avec des '
- Numérique : pas d'encadrement
- Date : Encadrer le contenu avec des #
Si le nom du champ comporte des caractères spéciaux (espaces, accents, _ ...), encadrer le nom du champ par des crochets droits [ et ]
Tu trouveras des détails dans n'importe quelle source du site qui parle de RecordSet sous ADODB.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_miss_poopoucy
Messages postés22Date d'inscriptionmercredi 6 juin 2007StatutMembreDernière intervention23 juin 2011 23 juin 2008 à 12:54
la systaxe est correcte j'en suis sûre!
deja ce code permet juste d'importer les données relatives a la partie MT.
mais aparemment ya un conflit d'utilisation de recordset, comme vous voyez j'utilise le meme rc pr l'extraction depuis deux differents objets et pour insérer dans les meme tables.
miss poopoucy
Vous n’avez pas trouvé la réponse que vous recherchez ?
lillith212
Messages postés1229Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention16 juin 2009 23 juin 2008 à 13:52
Salut,
Je viens de regarder ton code et une chose m'interpelle. Tu utilises tes rs mais tu ne les ferme jamais afin de les décharger completement avant de t'en reservir et ca meme si tu utilise la meme déclaration.
*********************************
Dim ct As ADODB.Connection
Dim rc_clt As ADODB.Recordset
Dim rc_ab As ADODB.Recordset
Dim rc_mt As ADODB.Recordset
Dim i, j, pos, ini, mrows, srows As Integer
Dim c As String
'*********************OUVERTURE DES TABLES*******************
'****************EXTRACTION DES DONNEES****************
'************MT*********************
Private Sub facture_mt()
Set rc_mt = New ADODB.Recordset
rc_mt.Open "Facture_MT", ct, adOpenDynamic, adLockOptimistic
'****************SAP******************
Sub facture_sap()
Set rc_sap = New ADODB.Recordset
rc_sap.Open "Facture_SAP", ct, adOpenDynamic, adLockOptimistic
cs_miss_poopoucy
Messages postés22Date d'inscriptionmercredi 6 juin 2007StatutMembreDernière intervention23 juin 2011 23 juin 2008 à 23:42
Saluut,
me voila de retour!!j'ai besoin de comparer 2 recordset (facture_mt et facture_sap)selon le nombre de lignes et selon un champs donné(reglé), et afficher le resultat dans une msflexgrid par exemple.
je sais pas comment procéder, j'ai pensé a utiliser une requête de jointure mais c tjrs flou ds ma tete!si klk1 pouvait m'aider ça serait gentiiiiiiiiiiiiiiiiiil
mircééé!
miss poopoucy
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 24 juin 2008 à 12:30
Salut
Pose ta nouvelle question dans un nouveau post sur le forum.
Donne bien tous les détails afin qu'on comprenne ton environnement et ce que tu veux faire.
Pense aussi à lire quelques sources sur ce sujet, elles sont riches en enseignement.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_miss_poopoucy
Messages postés22Date d'inscriptionmercredi 6 juin 2007StatutMembreDernière intervention23 juin 2011 24 juin 2008 à 12:42
voila mon code:
Dim ct As ADODB.Connection
Dim rc_clt As ADODB.Recordset
Dim rc_ab As ADODB.Recordset
Dim rc_mt As ADODB.Recordset
Dim i, j, pos, ini, mrows, srows As Integer
Dim c As String
'*********************OUVERTURE DES TABLES*******************
'****************EXTRACTION DES DONNEES****************
'************MT*********************
Private Sub facture_mt()
Set rc_mt = New ADODB.Recordset
rc_mt.Open "Facture_MT", ct, adOpenDynamic, adLockOptimistic
'****************SAP******************
Sub facture_sap()
Set rc_sap = New ADODB.Recordset
rc_sap.Open "Facture_SAP", ct, adOpenDynamic, adLockOptimistic
misafredo
Messages postés12Date d'inscriptionsamedi 17 mars 2007StatutMembreDernière intervention19 juillet 2011 30 juin 2008 à 09:54
Bonjour,
j'ai selectionné des champs ou des enregistrements evec une table,si la table est a 10 champs il n'y a pas de probleme mais si j'ai essaié avec un autre table a 127 champs il y a une erreur comme "requête est tres complexe "
Set CnAccess = New ADODB.Connection
CnAccess.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Form1.Dialog_Sible.FileName
CnAccess.Open
Set RsAccess = New ADODB.Recordset
Dim CriterFiltreProd_B(0 To 200) As String
.........
With Form1
For i = 0 To .List6.ListCount - 1
If Not IsNull(RsAccessA(i)) Then
CriterFiltreProd_B(i) = RsAccessA(i)
Else
CriterFiltreProd_B(i) = ""
End If
Next i
SQLB = "SELECT [" & .List6.List(0) & "]"
If .List6.ListCount > 1 Then
For i = 1 To .List6.ListCount - 1
SQLB = SQLB & ",[" & .List6.List(i) & "]"
Next i
End If
SQLB = SQLB & " FROM " & Nom_Table_Desti & " WHERE ("
If .List6.ListCount > 1 Then
For i = 1 To .List6.ListCount - 1
SQLB = SQLB & "And ([" & .List6.List(i) & "]= '" & CriterFiltreProd_B(i) & "')"
Next i
End If
SQLB = SQLB & ")"
SQLB = SQLB & " ORDER BY "
If .List6.ListCount > 1 Then
For i = 1 To .List6.ListCount - 1
SQLB = SQLB & "[" & .List6.List(i) & "],"
Next i
End If
SQLB = SQLB & "[" & .List6.List(0) & "];"
End With