|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : trouver l erreur ?!! VBA [ Archives Visual Basic / VBA ] (yaya31)
Informations & options pour cette discussion
mercredi 26 février 2003 à 14:21:04 |
trouver l erreur ?!! VBA

yaya31
|
J ai pas de message d erreur mais il ne m ajoute pas les champ dans la table stocker ?!! Comprends pas
Option Compare Database
Sub ComposantParProduction(NumProd As Long)
Dim RS As Recordset
Dim Rsql As String Dim SqlMAJ As String Dim Champ As Field Dim text$
Set Formulaire = Application.Forms("calcul du nb comp") Rsql = " SELECT PRODUCTION.DateCdePRod, composant.CodeComp,composant.typeComp," & _ " Sum([qtécompPdt]*[qttedme]) AS nombre_composants FROM " & _ "ligneproduction, PRODUIT, produit_composer, composant,production WHERE " & _ " PRODUIT.CodePdt = produit_composer.CodePdt And PRODUCTION.Numprod=LigneProduction.NumBP and " & _ " PRODUIT.CodePdt = ligneproduction.NumProd And composant.codeComp = " & _ " produit_composer.codeComp AND Production.NumProd=" & CStr(NumProd) & " GROUP BY " & _ " PRODUCTION.DateCdePRod,composant.CodeComp,composant.typeComp order by composant.typeComp ; "
With Formulaire.Liste24 .RowSource = Rsql .ColumnWidths = "3cm;5cm;2cm;2cm" .Requery End With
Set RS = Application.CurrentDb.OpenRecordset(Rsql, dbOpenDynaset) RS.MoveFirst Do While RS.EOF = False text = " " For Each Champ In RS.Fields text = text & Champ.Value & vbTab If Champ.Value = "cms" Then SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ " VALUES (RS.Fields(1),'ST002',RS.Fields(2),Rs.Fields(4));" MsgBox SqlMAJ End If Next Champ Debug.Print text RS.MoveNext
Loop RS.Close Set RS = Nothing Set Champ = Nothing
End Sub
|
 Amaya 
|
|
|
mercredi 26 février 2003 à 14:55:25 |
Re : trouver l erreur ?!! VBA

wape
|
Essaye comme ceci : SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ " VALUES (" & Rs.Fields(1) & ",'ST002'," & Rs.Fields(2) & "," & Rs.Fields(4) & ");" Slts wape ------------------------------- Réponse au message : ------------------------------- > J ai pas de message d erreur mais il ne m ajoute pas les champ dans la table stocker ?!! Comprends pas > > > > > > > Option Compare Database > > > Sub ComposantParProduction(NumProd As Long) > > Dim RS As Recordset > > Dim Rsql As String > Dim SqlMAJ As String > Dim Champ As Field > Dim text$ > > Set Formulaire = Application.Forms("calcul du nb comp") > Rsql = " SELECT PRODUCTION.DateCdePRod, composant.CodeComp,composant.typeComp," & _ > " Sum([qtécompPdt]*[qttedme]) AS nombre_composants FROM " & _ > "ligneproduction, PRODUIT, produit_composer, composant,production WHERE " & _ > " PRODUIT.CodePdt = produit_composer.CodePdt And PRODUCTION.Numprod=LigneProduction.NumBP and " & _ > " PRODUIT.CodePdt = ligneproduction.NumProd And composant.codeComp = " & _ > " produit_composer.codeComp AND Production.NumProd=" & CStr(NumProd) & " GROUP BY " & _ > " PRODUCTION.DateCdePRod,composant.CodeComp,composant.typeComp order by composant.typeComp ; " > > With Formulaire.Liste24 > .RowSource = Rsql > .ColumnWidths = "3cm;5cm;2cm;2cm" > .Requery > End With > > > Set RS = Application.CurrentDb.OpenRecordset(Rsql, dbOpenDynaset) > RS.MoveFirst > Do While RS.EOF = False > text = " " > For Each Champ In RS.Fields > text = text & Champ.Value & vbTab > If Champ.Value = "cms" Then > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > " VALUES (RS.Fields(1),'ST002',RS.Fields(2),Rs.Fields(4));" > MsgBox SqlMAJ > End If > Next Champ > Debug.Print text > > RS.MoveNext > > > Loop > RS.Close > Set RS = Nothing > Set Champ = Nothing > > > > > End Sub > |
> > >  Amaya 
|
|
|
mercredi 26 février 2003 à 15:03:26 |
Re : trouver l erreur ?!! VBA

yaya31
|
Il me met element non trouvé dans cette collection. merci de m aider  Amaya  ------------------------------- Réponse au message : ------------------------------- > Essaye comme ceci : > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > " VALUES (" & Rs.Fields(1) & ",'ST002'," & Rs.Fields(2) & "," & Rs.Fields(4) & ");" > > > Slts > > wape > > > ------------------------------- > Réponse au message : > ------------------------------- > > > J ai pas de message d erreur mais il ne m ajoute pas les champ dans la table stocker ?!! Comprends pas > > > > > > > > > > > > > > Option Compare Database > > > > > > Sub ComposantParProduction(NumProd As Long) > > > > Dim RS As Recordset > > > > Dim Rsql As String > > Dim SqlMAJ As String > > Dim Champ As Field > > Dim text$ > > > > Set Formulaire = Application.Forms("calcul du nb comp") > > Rsql = " SELECT PRODUCTION.DateCdePRod, composant.CodeComp,composant.typeComp," & _ > > " Sum([qtécompPdt]*[qttedme]) AS nombre_composants FROM " & _ > > "ligneproduction, PRODUIT, produit_composer, composant,production WHERE " & _ > > " PRODUIT.CodePdt = produit_composer.CodePdt And PRODUCTION.Numprod=LigneProduction.NumBP and " & _ > > " PRODUIT.CodePdt = ligneproduction.NumProd And composant.codeComp = " & _ > > " produit_composer.codeComp AND Production.NumProd=" & CStr(NumProd) & " GROUP BY " & _ > > " PRODUCTION.DateCdePRod,composant.CodeComp,composant.typeComp order by composant.typeComp ; " > > > > With Formulaire.Liste24 > > .RowSource = Rsql > > .ColumnWidths = "3cm;5cm;2cm;2cm" > > .Requery > > End With > > > > > > Set RS = Application.CurrentDb.OpenRecordset(Rsql, dbOpenDynaset) > > RS.MoveFirst > > Do While RS.EOF = False > > text = " " > > For Each Champ In RS.Fields > > text = text & Champ.Value & vbTab > > If Champ.Value = "cms" Then > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > " VALUES (RS.Fields(1),'ST002',RS.Fields(2),Rs.Fields(4));" > > MsgBox SqlMAJ > > End If > > Next Champ > > Debug.Print text > > > > RS.MoveNext > > > > > > Loop > > RS.Close > > Set RS = Nothing > > Set Champ = Nothing > > > > > > > > > > End Sub > > |
> > > > > >  Amaya  >
|
|
|
mercredi 26 février 2003 à 15:24:20 |
Re : trouver l erreur ?!! VBA

wape
|
Dans ton recordset, tu sélectionnes 4 champs. Pour obtenir le premier de ces champs il faut indiquer Rs.Fields(0), pour le deuxième Rs.Fields(1), etc. Ce qui donne : SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" Slts wape ------------------------------- Réponse au message : ------------------------------- > Il me met element non trouvé dans cette collection. > > merci de m aider > >  Amaya  > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Essaye comme ceci : > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > " VALUES (" & Rs.Fields(1) & ",'ST002'," & Rs.Fields(2) & "," & Rs.Fields(4) & ");" > > > > > > Slts > > > > wape > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > J ai pas de message d erreur mais il ne m ajoute pas les champ dans la table stocker ?!! Comprends pas > > > > > > > > > > > > > > > > > > > > > Option Compare Database > > > > > > > > > Sub ComposantParProduction(NumProd As Long) > > > > > > Dim RS As Recordset > > > > > > Dim Rsql As String > > > Dim SqlMAJ As String > > > Dim Champ As Field > > > Dim text$ > > > > > > Set Formulaire = Application.Forms("calcul du nb comp") > > > Rsql = " SELECT PRODUCTION.DateCdePRod, composant.CodeComp,composant.typeComp," & _ > > > " Sum([qtécompPdt]*[qttedme]) AS nombre_composants FROM " & _ > > > "ligneproduction, PRODUIT, produit_composer, composant,production WHERE " & _ > > > " PRODUIT.CodePdt = produit_composer.CodePdt And PRODUCTION.Numprod=LigneProduction.NumBP and " & _ > > > " PRODUIT.CodePdt = ligneproduction.NumProd And composant.codeComp = " & _ > > > " produit_composer.codeComp AND Production.NumProd=" & CStr(NumProd) & " GROUP BY " & _ > > > " PRODUCTION.DateCdePRod,composant.CodeComp,composant.typeComp order by composant.typeComp ; " > > > > > > With Formulaire.Liste24 > > > .RowSource = Rsql > > > .ColumnWidths = "3cm;5cm;2cm;2cm" > > > .Requery > > > End With > > > > > > > > > Set RS = Application.CurrentDb.OpenRecordset(Rsql, dbOpenDynaset) > > > RS.MoveFirst > > > Do While RS.EOF = False > > > text = " " > > > For Each Champ In RS.Fields > > > text = text & Champ.Value & vbTab > > > If Champ.Value = "cms" Then > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > " VALUES (RS.Fields(1),'ST002',RS.Fields(2),Rs.Fields(4));" > > > MsgBox SqlMAJ > > > End If > > > Next Champ > > > Debug.Print text > > > > > > RS.MoveNext > > > > > > > > > Loop > > > RS.Close > > > Set RS = Nothing > > > Set Champ = Nothing > > > > > > > > > > > > > > > End Sub > > > |
> > > > > > > > >  Amaya  > > >
|
|
|
mercredi 26 février 2003 à 15:50:51 |
Re : trouver l erreur ?!! VBA

yaya31
|
Ah merci Bon j avance.. j ai plus de message d erreur mais ça ne m ajoute rien dans ma table stocker ..  Amaya  ------------------------------- Réponse au message : ------------------------------- > Dans ton recordset, tu sélectionnes 4 champs. Pour obtenir le premier de ces champs il faut indiquer Rs.Fields(0), pour le deuxième Rs.Fields(1), etc. Ce qui donne : > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" > > > Slts > > wape > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Il me met element non trouvé dans cette collection. > > > > merci de m aider > > > >  Amaya  > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Essaye comme ceci : > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > " VALUES (" & Rs.Fields(1) & ",'ST002'," & Rs.Fields(2) & "," & Rs.Fields(4) & ");" > > > > > > > > > Slts > > > > > > wape > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > J ai pas de message d erreur mais il ne m ajoute pas les champ dans la table stocker ?!! Comprends pas > > > > > > > > > > > > > > > > > > > > > > > > > > > > Option Compare Database > > > > > > > > > > > > Sub ComposantParProduction(NumProd As Long) > > > > > > > > Dim RS As Recordset > > > > > > > > Dim Rsql As String > > > > Dim SqlMAJ As String > > > > Dim Champ As Field > > > > Dim text$ > > > > > > > > Set Formulaire = Application.Forms("calcul du nb comp") > > > > Rsql = " SELECT PRODUCTION.DateCdePRod, composant.CodeComp,composant.typeComp," & _ > > > > " Sum([qtécompPdt]*[qttedme]) AS nombre_composants FROM " & _ > > > > "ligneproduction, PRODUIT, produit_composer, composant,production WHERE " & _ > > > > " PRODUIT.CodePdt = produit_composer.CodePdt And PRODUCTION.Numprod=LigneProduction.NumBP and " & _ > > > > " PRODUIT.CodePdt = ligneproduction.NumProd And composant.codeComp = " & _ > > > > " produit_composer.codeComp AND Production.NumProd=" & CStr(NumProd) & " GROUP BY " & _ > > > > " PRODUCTION.DateCdePRod,composant.CodeComp,composant.typeComp order by composant.typeComp ; " > > > > > > > > With Formulaire.Liste24 > > > > .RowSource = Rsql > > > > .ColumnWidths = "3cm;5cm;2cm;2cm" > > > > .Requery > > > > End With > > > > > > > > > > > > Set RS = Application.CurrentDb.OpenRecordset(Rsql, dbOpenDynaset) > > > > RS.MoveFirst > > > > Do While RS.EOF = False > > > > text = " " > > > > For Each Champ In RS.Fields > > > > text = text & Champ.Value & vbTab > > > > If Champ.Value = "cms" Then > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > " VALUES (RS.Fields(1),'ST002',RS.Fields(2),Rs.Fields(4));" > > > > MsgBox SqlMAJ > > > > End If > > > > Next Champ > > > > Debug.Print text > > > > > > > > RS.MoveNext > > > > > > > > > > > > Loop > > > > RS.Close > > > > Set RS = Nothing > > > > Set Champ = Nothing > > > > > > > > > > > > > > > > > > > > End Sub > > > > |
> > > > > > > > > > > >  Amaya  > > > > > >
|
|
|
mercredi 26 février 2003 à 16:01:52 |
Re : trouver l erreur ?!! VBA

lpikachu58
|
Est ce que tu as regardé si il y a quelque chose dans tes varianbles avec les débogueurs @+ Cédric Lemaitre Viva le révolution Linux!!!!!!!!!!!!!!! ------------------------------- Réponse au message : ------------------------------- > Ah merci > > Bon j avance.. j ai plus de message d erreur mais ça ne m ajoute rien dans ma table stocker .. > > >  Amaya  > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Dans ton recordset, tu sélectionnes 4 champs. Pour obtenir le premier de ces champs il faut indiquer Rs.Fields(0), pour le deuxième Rs.Fields(1), etc. Ce qui donne : > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" > > > > > > Slts > > > > wape > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Il me met element non trouvé dans cette collection. > > > > > > merci de m aider > > > > > >  Amaya  > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > Essaye comme ceci : > > > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > " VALUES (" & Rs.Fields(1) & ",'ST002'," & Rs.Fields(2) & "," & Rs.Fields(4) & ");" > > > > > > > > > > > > Slts > > > > > > > > wape > > > > > > > > > > > > ------------------------------- > > > > Réponse au message : > > > > ------------------------------- > > > > > > > > > J ai pas de message d erreur mais il ne m ajoute pas les champ dans la table stocker ?!! Comprends pas > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Option Compare Database > > > > > > > > > > > > > > > Sub ComposantParProduction(NumProd As Long) > > > > > > > > > > Dim RS As Recordset > > > > > > > > > > Dim Rsql As String > > > > > Dim SqlMAJ As String > > > > > Dim Champ As Field > > > > > Dim text$ > > > > > > > > > > Set Formulaire = Application.Forms("calcul du nb comp") > > > > > Rsql = " SELECT PRODUCTION.DateCdePRod, composant.CodeComp,composant.typeComp," & _ > > > > > " Sum([qtécompPdt]*[qttedme]) AS nombre_composants FROM " & _ > > > > > "ligneproduction, PRODUIT, produit_composer, composant,production WHERE " & _ > > > > > " PRODUIT.CodePdt = produit_composer.CodePdt And PRODUCTION.Numprod=LigneProduction.NumBP and " & _ > > > > > " PRODUIT.CodePdt = ligneproduction.NumProd And composant.codeComp = " & _ > > > > > " produit_composer.codeComp AND Production.NumProd=" & CStr(NumProd) & " GROUP BY " & _ > > > > > " PRODUCTION.DateCdePRod,composant.CodeComp,composant.typeComp order by composant.typeComp ; " > > > > > > > > > > With Formulaire.Liste24 > > > > > .RowSource = Rsql > > > > > .ColumnWidths = "3cm;5cm;2cm;2cm" > > > > > .Requery > > > > > End With > > > > > > > > > > > > > > > Set RS = Application.CurrentDb.OpenRecordset(Rsql, dbOpenDynaset) > > > > > RS.MoveFirst > > > > > Do While RS.EOF = False > > > > > text = " " > > > > > For Each Champ In RS.Fields > > > > > text = text & Champ.Value & vbTab > > > > > If Champ.Value = "cms" Then > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > > " VALUES (RS.Fields(1),'ST002',RS.Fields(2),Rs.Fields(4));" > > > > > MsgBox SqlMAJ > > > > > End If > > > > > Next Champ > > > > > Debug.Print text > > > > > > > > > > RS.MoveNext > > > > > > > > > > > > > > > Loop > > > > > RS.Close > > > > > Set RS = Nothing > > > > > Set Champ = Nothing > > > > > > > > > > > > > > > > > > > > > > > > > End Sub > > > > > |
> > > > > > > > > > > > > > >  Amaya  > > > > > > > > > >
|
|
|
mercredi 26 février 2003 à 16:04:11 |
Re : trouver l erreur ?!! VBA

wape
|
C'est normal... Une fois que la requête SQL est créée, il faut encore l'exécuter : SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" CurrentDb.Execute SqlMAJ, dbFailOnError Slts wape ------------------------------- Réponse au message : ------------------------------- > Ah merci > > Bon j avance.. j ai plus de message d erreur mais ça ne m ajoute rien dans ma table stocker .. > > >  Amaya  > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Dans ton recordset, tu sélectionnes 4 champs. Pour obtenir le premier de ces champs il faut indiquer Rs.Fields(0), pour le deuxième Rs.Fields(1), etc. Ce qui donne : > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" > > > > > > Slts > > > > wape > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Il me met element non trouvé dans cette collection. > > > > > > merci de m aider > > > > > >  Amaya  > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > Essaye comme ceci : > > > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > " VALUES (" & Rs.Fields(1) & ",'ST002'," & Rs.Fields(2) & "," & Rs.Fields(4) & ");" > > > > > > > > > > > > Slts > > > > > > > > wape > > > > > > > > > > > > ------------------------------- > > > > Réponse au message : > > > > ------------------------------- > > > > > > > > > J ai pas de message d erreur mais il ne m ajoute pas les champ dans la table stocker ?!! Comprends pas > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Option Compare Database > > > > > > > > > > > > > > > Sub ComposantParProduction(NumProd As Long) > > > > > > > > > > Dim RS As Recordset > > > > > > > > > > Dim Rsql As String > > > > > Dim SqlMAJ As String > > > > > Dim Champ As Field > > > > > Dim text$ > > > > > > > > > > Set Formulaire = Application.Forms("calcul du nb comp") > > > > > Rsql = " SELECT PRODUCTION.DateCdePRod, composant.CodeComp,composant.typeComp," & _ > > > > > " Sum([qtécompPdt]*[qttedme]) AS nombre_composants FROM " & _ > > > > > "ligneproduction, PRODUIT, produit_composer, composant,production WHERE " & _ > > > > > " PRODUIT.CodePdt = produit_composer.CodePdt And PRODUCTION.Numprod=LigneProduction.NumBP and " & _ > > > > > " PRODUIT.CodePdt = ligneproduction.NumProd And composant.codeComp = " & _ > > > > > " produit_composer.codeComp AND Production.NumProd=" & CStr(NumProd) & " GROUP BY " & _ > > > > > " PRODUCTION.DateCdePRod,composant.CodeComp,composant.typeComp order by composant.typeComp ; " > > > > > > > > > > With Formulaire.Liste24 > > > > > .RowSource = Rsql > > > > > .ColumnWidths = "3cm;5cm;2cm;2cm" > > > > > .Requery > > > > > End With > > > > > > > > > > > > > > > Set RS = Application.CurrentDb.OpenRecordset(Rsql, dbOpenDynaset) > > > > > RS.MoveFirst > > > > > Do While RS.EOF = False > > > > > text = " " > > > > > For Each Champ In RS.Fields > > > > > text = text & Champ.Value & vbTab > > > > > If Champ.Value = "cms" Then > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > > " VALUES (RS.Fields(1),'ST002',RS.Fields(2),Rs.Fields(4));" > > > > > MsgBox SqlMAJ > > > > > End If > > > > > Next Champ > > > > > Debug.Print text > > > > > > > > > > RS.MoveNext > > > > > > > > > > > > > > > Loop > > > > > RS.Close > > > > > Set RS = Nothing > > > > > Set Champ = Nothing > > > > > > > > > > > > > > > > > > > > > > > > > End Sub > > > > > |
> > > > > > > > > > > > > > >  Amaya  > > > > > > > > > >
|
|
|
mercredi 26 février 2003 à 16:24:37 |
Re : trouver l erreur ?!! VBA

yaya31
|
Merci encore pour votre aide. Maintenant il me dit qu il y a une erreur de syntaxe dans l expression "26/02/03 15:30:21" J ai verifé et j ai bien DateStock de la table Stocker et DateCdeProd de la table Production qui sont bien au format date.. Peut etre il faut pas faire de masque de saisie ??? Je vois pas Merci encore  Amaya  ------------------------------- Réponse au message : ------------------------------- > C'est normal... Une fois que la requête SQL est créée, il faut encore l'exécuter : > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" > CurrentDb.Execute SqlMAJ, dbFailOnError > > > Slts > > wape > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Ah merci > > > > Bon j avance.. j ai plus de message d erreur mais ça ne m ajoute rien dans ma table stocker .. > > > > > >  Amaya  > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Dans ton recordset, tu sélectionnes 4 champs. Pour obtenir le premier de ces champs il faut indiquer Rs.Fields(0), pour le deuxième Rs.Fields(1), etc. Ce qui donne : > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" > > > > > > > > > Slts > > > > > > wape > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > Il me met element non trouvé dans cette collection. > > > > > > > > merci de m aider > > > > > > > >  Amaya  > > > > > > > > > > > > ------------------------------- > > > > Réponse au message : > > > > ------------------------------- > > > > > > > > > Essaye comme ceci : > > > > > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > > " VALUES (" & Rs.Fields(1) & ",'ST002'," & Rs.Fields(2) & "," & Rs.Fields(4) & ");" > > > > > > > > > > > > > > > Slts > > > > > > > > > > wape > > > > > > > > > > > > > > > ------------------------------- > > > > > Réponse au message : > > > > > ------------------------------- > > > > > > > > > > > J ai pas de message d erreur mais il ne m ajoute pas les champ dans la table stocker ?!! Comprends pas > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Option Compare Database > > > > > > > > > > > > > > > > > > Sub ComposantParProduction(NumProd As Long) > > > > > > > > > > > > Dim RS As Recordset > > > > > > > > > > > > Dim Rsql As String > > > > > > Dim SqlMAJ As String > > > > > > Dim Champ As Field > > > > > > Dim text$ > > > > > > > > > > > > Set Formulaire = Application.Forms("calcul du nb comp") > > > > > > Rsql = " SELECT PRODUCTION.DateCdePRod, composant.CodeComp,composant.typeComp," & _ > > > > > > " Sum([qtécompPdt]*[qttedme]) AS nombre_composants FROM " & _ > > > > > > "ligneproduction, PRODUIT, produit_composer, composant,production WHERE " & _ > > > > > > " PRODUIT.CodePdt = produit_composer.CodePdt And PRODUCTION.Numprod=LigneProduction.NumBP and " & _ > > > > > > " PRODUIT.CodePdt = ligneproduction.NumProd And composant.codeComp = " & _ > > > > > > " produit_composer.codeComp AND Production.NumProd=" & CStr(NumProd) & " GROUP BY " & _ > > > > > > " PRODUCTION.DateCdePRod,composant.CodeComp,composant.typeComp order by composant.typeComp ; " > > > > > > > > > > > > With Formulaire.Liste24 > > > > > > .RowSource = Rsql > > > > > > .ColumnWidths = "3cm;5cm;2cm;2cm" > > > > > > .Requery > > > > > > End With > > > > > > > > > > > > > > > > > > Set RS = Application.CurrentDb.OpenRecordset(Rsql, dbOpenDynaset) > > > > > > RS.MoveFirst > > > > > > Do While RS.EOF = False > > > > > > text = " " > > > > > > For Each Champ In RS.Fields > > > > > > text = text & Champ.Value & vbTab > > > > > > If Champ.Value = "cms" Then > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > > > " VALUES (RS.Fields(1),'ST002',RS.Fields(2),Rs.Fields(4));" > > > > > > MsgBox SqlMAJ > > > > > > End If > > > > > > Next Champ > > > > > > Debug.Print text > > > > > > > > > > > > RS.MoveNext > > > > > > > > > > > > > > > > > > Loop > > > > > > RS.Close > > > > > > Set RS = Nothing > > > > > > Set Champ = Nothing > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > End Sub > > > > > > |
> > > > > > > > > > > > > > > > > >  Amaya  > > > > > > > > > > > > > > >
|
|
|
mercredi 26 février 2003 à 16:28:04 |
Re : trouver l erreur ?!! VBA

yaya31
|
putain ca marche il fallait mettre des cotes pour les alpha ... MERCI JE VOUS AIME   Amaya  ------------------------------- Réponse au message : ------------------------------- > Merci encore pour votre aide. > Maintenant il me dit qu il y a une erreur de syntaxe dans l expression "26/02/03 15:30:21" > J ai verifé et j ai bien DateStock de la table Stocker et DateCdeProd de la table Production qui sont bien au format date.. > Peut etre il faut pas faire de masque de saisie ??? > Je vois pas > Merci encore > >  Amaya  > > > ------------------------------- > Réponse au message : > ------------------------------- > > > C'est normal... Une fois que la requête SQL est créée, il faut encore l'exécuter : > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" > > CurrentDb.Execute SqlMAJ, dbFailOnError > > > > > > Slts > > > > wape > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Ah merci > > > > > > Bon j avance.. j ai plus de message d erreur mais ça ne m ajoute rien dans ma table stocker .. > > > > > > > > >  Amaya  > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > Dans ton recordset, tu sélectionnes 4 champs. Pour obtenir le premier de ces champs il faut indiquer Rs.Fields(0), pour le deuxième Rs.Fields(1), etc. Ce qui donne : > > > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" > > > > > > > > > > > > Slts > > > > > > > > wape > > > > > > > > > > > > ------------------------------- > > > > Réponse au message : > > > > ------------------------------- > > > > > > > > > Il me met element non trouvé dans cette collection. > > > > > > > > > > merci de m aider > > > > > > > > > >  Amaya  > > > > > > > > > > > > > > > ------------------------------- > > > > > Réponse au message : > > > > > ------------------------------- > > > > > > > > > > > Essaye comme ceci : > > > > > > > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > > > " VALUES (" & Rs.Fields(1) & ",'ST002'," & Rs.Fields(2) & "," & Rs.Fields(4) & ");" > > > > > > > > > > > > > > > > > > Slts > > > > > > > > > > > > wape > > > > > > > > > > > > > > > > > > ------------------------------- > > > > > > Réponse au message : > > > > > > ------------------------------- > > > > > > > > > > > > > J ai pas de message d erreur mais il ne m ajoute pas les champ dans la table stocker ?!! Comprends pas > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Option Compare Database > > > > > > > > > > > > > > > > > > > > > Sub ComposantParProduction(NumProd As Long) > > > > > > > > > > > > > > Dim RS As Recordset > > > > > > > > > > > > > > Dim Rsql As String > > > > > > > Dim SqlMAJ As String > > > > > > > Dim Champ As Field > > > > > > > Dim text$ > > > > > > > > > > > > > > Set Formulaire = Application.Forms("calcul du nb comp") > > > > > > > Rsql = " SELECT PRODUCTION.DateCdePRod, composant.CodeComp,composant.typeComp," & _ > > > > > > > " Sum([qtécompPdt]*[qttedme]) AS nombre_composants FROM " & _ > > > > > > > "ligneproduction, PRODUIT, produit_composer, composant,production WHERE " & _ > > > > > > > " PRODUIT.CodePdt = produit_composer.CodePdt And PRODUCTION.Numprod=LigneProduction.NumBP and " & _ > > > > > > > " PRODUIT.CodePdt = ligneproduction.NumProd And composant.codeComp = " & _ > > > > > > > " produit_composer.codeComp AND Production.NumProd=" & CStr(NumProd) & " GROUP BY " & _ > > > > > > > " PRODUCTION.DateCdePRod,composant.CodeComp,composant.typeComp order by composant.typeComp ; " > > > > > > > > > > > > > > With Formulaire.Liste24 > > > > > > > .RowSource = Rsql > > > > > > > .ColumnWidths = "3cm;5cm;2cm;2cm" > > > > > > > .Requery > > > > > > > End With > > > > > > > > > > > > > > > > > > > > > Set RS = Application.CurrentDb.OpenRecordset(Rsql, dbOpenDynaset) > > > > > > > RS.MoveFirst > > > > > > > Do While RS.EOF = False > > > > > > > text = " " > > > > > > > For Each Champ In RS.Fields > > > > > > > text = text & Champ.Value & vbTab > > > > > > > If Champ.Value = "cms" Then > > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > > > > " VALUES (RS.Fields(1),'ST002',RS.Fields(2),Rs.Fields(4));" > > > > > > > MsgBox SqlMAJ > > > > > > > End If > > > > > > > Next Champ > > > > > > > Debug.Print text > > > > > > > > > > > > > > RS.MoveNext > > > > > > > > > > > > > > > > > > > > > Loop > > > > > > > RS.Close > > > > > > > Set RS = Nothing > > > > > > > Set Champ = Nothing > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > End Sub > > > > > > > |
> > > > > > > > > > > > > > > > > > > > >  Amaya  > > > > > > > > > > > > > > > > > > > > >
|
|
|
mercredi 26 février 2003 à 17:09:42 |
WAPE JE T AIME [:X]

yaya31
|
Merci ça fesait des mois que je galerais  Amaya  ------------------------------- Réponse au message : ------------------------------- > putain ca marche il fallait mettre des cotes pour les alpha ... > MERCI JE VOUS AIME > > > >  >  Amaya  > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Merci encore pour votre aide. > > Maintenant il me dit qu il y a une erreur de syntaxe dans l expression "26/02/03 15:30:21" > > J ai verifé et j ai bien DateStock de la table Stocker et DateCdeProd de la table Production qui sont bien au format date.. > > Peut etre il faut pas faire de masque de saisie ??? > > Je vois pas > > Merci encore > > > >  Amaya  > > > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > C'est normal... Une fois que la requête SQL est créée, il faut encore l'exécuter : > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" > > > CurrentDb.Execute SqlMAJ, dbFailOnError > > > > > > > > > Slts > > > > > > wape > > > > > > > > > ------------------------------- > > > Réponse au message : > > > ------------------------------- > > > > > > > Ah merci > > > > > > > > Bon j avance.. j ai plus de message d erreur mais ça ne m ajoute rien dans ma table stocker .. > > > > > > > > > > > >  Amaya  > > > > > > > > > > > > ------------------------------- > > > > Réponse au message : > > > > ------------------------------- > > > > > > > > > Dans ton recordset, tu sélectionnes 4 champs. Pour obtenir le premier de ces champs il faut indiquer Rs.Fields(0), pour le deuxième Rs.Fields(1), etc. Ce qui donne : > > > > > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > > " VALUES (" & Rs.Fields(0) & ",'ST002'," & Rs.Fields(1) & "," & Rs.Fields(3) & ");" > > > > > > > > > > > > > > > Slts > > > > > > > > > > wape > > > > > > > > > > > > > > > ------------------------------- > > > > > Réponse au message : > > > > > ------------------------------- > > > > > > > > > > > Il me met element non trouvé dans cette collection. > > > > > > > > > > > > merci de m aider > > > > > > > > > > > >  Amaya  > > > > > > > > > > > > > > > > > > ------------------------------- > > > > > > Réponse au message : > > > > > > ------------------------------- > > > > > > > > > > > > > Essaye comme ceci : > > > > > > > > > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > > > > " VALUES (" & Rs.Fields(1) & ",'ST002'," & Rs.Fields(2) & "," & Rs.Fields(4) & ");" > > > > > > > > > > > > > > > > > > > > > Slts > > > > > > > > > > > > > > wape > > > > > > > > > > > > > > > > > > > > > ------------------------------- > > > > > > > Réponse au message : > > > > > > > ------------------------------- > > > > > > > > > > > > > > > J ai pas de message d erreur mais il ne m ajoute pas les champ dans la table stocker ?!! Comprends pas > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Option Compare Database > > > > > > > > > > > > > > > > > > > > > > > > Sub ComposantParProduction(NumProd As Long) > > > > > > > > > > > > > > > > Dim RS As Recordset > > > > > > > > > > > > > > > > Dim Rsql As String > > > > > > > > Dim SqlMAJ As String > > > > > > > > Dim Champ As Field > > > > > > > > Dim text$ > > > > > > > > > > > > > > > > Set Formulaire = Application.Forms("calcul du nb comp") > > > > > > > > Rsql = " SELECT PRODUCTION.DateCdePRod, composant.CodeComp,composant.typeComp," & _ > > > > > > > > " Sum([qtécompPdt]*[qttedme]) AS nombre_composants FROM " & _ > > > > > > > > "ligneproduction, PRODUIT, produit_composer, composant,production WHERE " & _ > > > > > > > > " PRODUIT.CodePdt = produit_composer.CodePdt And PRODUCTION.Numprod=LigneProduction.NumBP and " & _ > > > > > > > > " PRODUIT.CodePdt = ligneproduction.NumProd And composant.codeComp = " & _ > > > > > > > > " produit_composer.codeComp AND Production.NumProd=" & CStr(NumProd) & " GROUP BY " & _ > > > > > > > > " PRODUCTION.DateCdePRod,composant.CodeComp,composant.typeComp order by composant.typeComp ; " > > > > > > > > > > > > > > > > With Formulaire.Liste24 > > > > > > > > .RowSource = Rsql > > > > > > > > .ColumnWidths = "3cm;5cm;2cm;2cm" > > > > > > > > .Requery > > > > > > > > End With > > > > > > > > > > > > > > > > > > > > > > > > Set RS = Application.CurrentDb.OpenRecordset(Rsql, dbOpenDynaset) > > > > > > > > RS.MoveFirst > > > > > > > > Do While RS.EOF = False > > > > > > > > text = " " > > > > > > > > For Each Champ In RS.Fields > > > > > > > > text = text & Champ.Value & vbTab > > > > > > > > If Champ.Value = "cms" Then > > > > > > > > SqlMAJ = "INSERT INTO stocker(datestock, numEntrepot, numcomposant, Qtésortie)" & _ > > > > > > > > " VALUES (RS.Fields(1),'ST002',RS.Fields(2),Rs.Fields(4));" > > > > > > > > MsgBox SqlMAJ > > > > > > > > End If > > > > > > > > Next Champ > > > > > > > > Debug.Print text > > > > > > > > > > > > > > > > RS.MoveNext > > > > > > > > > > > > > > > > > > > > > > > > Loop > > > > > > > > RS.Close > > > > > > > > Set RS = Nothing > > > > > > > > Set Champ = Nothing > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > End Sub > > > > > > > > |
> > > > > > > > > > > > > > > > > > > > > > > >  Amaya  > > > > > > > > > > > > > > > > > > > > > > > > > > > >
|
|
|
Cette discussion est classé dans : composant, champ, rs, produit, numprod
Répondre à ce message
Sujets en rapport avec ce message
trouver erreur requete VBA [ par yaya31 ]
RE.J ai mon code qui me renvoie plus d erreur mais il ne m execute pas la requete de mise à jour. Je comprends pas!Si quelqu un voit ce qui va pas dan
Insert into ?? [ par yaya31 ]
Bonjour tout le mondeJ ai un formulaire une fonction dans un formulaire qui me calcul et m affiche le nombre de composant necessaire à la fabrication
requete et VBA [ par yaya31 ]
Bonjour à tousMaintenant ma requete n'a plus d erreur de compilation mais elle ne renvoie rien !! Si quelqu un voit pourquoi !!Merci
chercher l erreur ? [ par yaya31 ]
Bonjour !Voici ma procedure:Private Sub Commande21_Click()Dim MyDatabase As DatabaseDim RS As RecordsetDim Rsql As StringDim Champ As F
End with sans with ??? [ par yaya31 ]
RebonjourJ ai le message d erreur suivant :end with sans with mais il y est mon with ?!!!si quelqu un peut m aidermerci.Sub ComposantParProd
requete sql [ par yaya31 ]
RE,Pour les fans SQL ....Voici ma requete :SELECT [ligneproduction].[NumBP], [composant].[codeComp], [composant].[DesComp], Sum([qtécompPdt]*[qttedme]
Probleme VBA help [ par yaya31 ]
bonjour a tousVoila mon probleme:J ai un formulaire qui me calcul le nombre de composant necessaire a la fabrication de produit. Or j aimerais que dan
AVIS AUX PROS DU SQL !! Help [ par yaya31 ]
J ai une requete a faire mais perso je sais pas si c 'est possible... Je vous donne les tables:Production(NumProd,DateCdeProd)LigneProduction(NumProd,
Erreur Sql [ par yaya31 ]
Bijour! j ai une requete mais il me dit: expression de jointure non supporté.SELECT LigneProduction.NumBP, Composant.CodeComp, Composant.DesComp, Comp
Toujours les requetes sql.... [ par yaya31 ]
Et ben aujourd hui faut en vouloir pour ce connecter ???! Vous avez eu le meme probleme ou c est juste moi??bon j ai donc ma requete que voici:SELECT
Livres en rapport
|
|