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)

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


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode