miofans a écrit le 05/07/2010 à 00h42 :miofans a écrit le 04/07/2010 à 23h15 :Michel__D a écrit le 04/07/2010 à 22h27 :Re,
miofans a écrit :Michel__D a écrit le 04/07/2010 à 11h36 :Bonjour,
[...]comment je fait pour récuperer toutes les valeurs de la premiere
ligne
d'une
table 1 ?
Ceci ne veut rien dire, précise ta pensée, tout le reste en
découleraextraire une valeur bien précise pour correction ou utilisation
comme
variable ?
boucle 2
modifier quelques valeurs (je sais faire),
ensuite les coller dans une autre table 2 (je viens d'avoir la
réponse)
cela un certain nombre de fois en fonction d'une valeur dans la 1°
ligne de la table 1
avec une boucle for ..to... next ... (je sais faire)
next 2
next 1 ( je prend la 2° ligne et ainsi de suite)
Merci pour votre aide
miofan
PS: Une réponse ci-dessous que j'ai déjà fourni et qui
pourrait te servir :
Une autre alternative (nécessite l'ajout de la
référence
aux objets ADO)
Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String
sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"
Set oCn1 = CurrentProject.Connection
oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If
oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub
PS:A adapter bien sur.
Bonjour,
merci pour ta réponse,
je précise et je fais plus simple
1° je souhaite récuperer une des valeurs d'un champ de la 1°
ligne de la table
1 pour faire une boucle (ex:8)
2° je souhaite récuperer toutes les valeurs des champs de la
1°
ligne (table
1)
3° je souhaite modifier certaines valeurs
4° je souhaite coller ces valeurs sur la 1° ligne dans une nouvelle
table 2
5° je souhaite faire l'opération 2,3 et 4 ==>8 fois dans la
boucle afin d'avoir
8 lignes (8 pour l'exemple)
6° je souhaite refaire la boucle en passant à la 2° ligne de
ma
table 1
d'ou ma question comment je fais pour extraire les valeurs de la ligne 1
dela
table 1 dans des variables,
puis de la ligne 2 etc...
Merci pour votre aide,
Miofan
Je persiste mais les extraits ci-dessous de tes demandes ne veulent rien
dire:
"récuperer une des valeurs d'un champ de la 1° ligne de la
table 1" et
"récuperer toutes les valeurs des champs de la 1° ligne
(table
1)" et
"coller ces valeurs sur la 1° ligne dans une nouvelle table 2"
car les données ne sont pas forcément stocké dans un
ordre
défini, c'est à toi
qu'il revient de le définir d'ou le fait que l'on ne puisse pas
répondre à tes
questions ne connaissant pas l'ordre dans lesquelles tu souhaite les
extraire.
PS: Mais tu possède avec le code que j'ai fourni, un début de
solution parmi d'autre.
bonsoir, voila ce que j'ai bricolé:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
sSQL = "SELECT N°, [RefPF] FROM TPlandeproduction WHERE N° >>> 5;"
'mySQL = "SELECT N°, [RefPF] FROM 'T Plan de production' WHERE N°
= 5;"
For i = 1 To 20
mySQL = "Insert into Données (RefPF,TpsMachine) Values ('"
& RefPF & "',7);"
DoCmd.RunSQL mySQL
Next i
DoCmd.Close
DoCmd.SetWarnings True
End Sub
avec la ligne => mySQL = "Insert into Données
(RefPF,TpsMachine)
Values ('" & RefPF & "',7);"
j'arrive à ecrire une ligne suplémentaire dans la table
Données, la valeur 7 est bien enregistrée mais la valeur RefPF
n'est pas enregistrées.
Ou est l'erreur ? je suppose dans l'extraction !
Merci pour vote aide
Miofans
bonsoir,
je vous informe au fur et à mesure que j'avance, voila ce que j'arive
à faire:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
For i2 = 1 To 5
compteur = DLookup("TpsMachine", "TPlandeproduction",
"N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
mySQL = "Insert into Données (TpsMachine) Values ('" &
TpsMachSolde & "');"
DoCmd.RunSQL mySQL
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
j'ai reussi à extraire ma valeur pour faire ma 1° boucle,
maintenant je doit remplacer la valeur 5 de la boucle 'for i2 = 1 to 5' par
lenombre d'enregistrement dans la table "TPlandeproduction"
comment compter le nombre d'enregistrement dans une table ?
comment extraire plusieurs valeurs dans la ligne 1 de la table
"TPlandeproduction" ?
je cherche encore avec vos proposition mais por l'instant je n'y arrive pas.
merci encore de votre aide,
Miofans
Bonjour,
j'avance encore un peu plus, j'ai touver la fonction dcount pour compter les
ligne de ma table,
j'ai donc ceci qui fonctionne:
Sub ouvrir_table()
'cette macro fonctionne
Dim sSQL As String
DoCmd.SetWarnings False
compteur2 = DCount("N°", "TPlandeproduction")
For i2 = 1 To compteur2
MsgBox "#" & RefPF & "#" & Komponen & "#"
compteur = DLookup("TpsMachine", "TPlandeproduction", "N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
RefPF = 1698000 + i
Komponen = 5555 + i
mySql = "Insert into Données (RefPF,Komponen,TpsMachine) Values ('" & RefPF &
"','" & Komponen & "','" & TpsMachSolde & "');"
MsgBox "#" & RefPF & "#" & Komponen & "#"
DoCmd.RunSQL mySql
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
il me reste donc à trouver comment faire pour extraire plusieurs valeurs pour
une ligne bien specifique. Il y à la fonction "DLoopkup" mais elle n'extrait
qu'une valeur alors que j'ai besoin d'extraire plusieurs valeurs.
n'esiter pas à me donner un coup de main car en ce moment je passe plusieurs
heures par jour sur ce probleme. Si vous pouvez m'aider également à nettoyer mon
programme de ses imperfections.
Merci à vous tous,
Miofans
miofans a écrit le 05/07/2010 à 00h42 :
miofans a écrit le 04/07/2010 à 23h15 :
Michel__D a écrit le 04/07/2010 à 22h27 :
Re,
miofans a écrit :
Michel__D a écrit le 04/07/2010 à 11h36 :
Bonjour,
[...]
comment je fait pour récuperer toutes les valeurs de la premiere
ligne
d'une
table 1 ?
Ceci ne veut rien dire, précise ta pensée, tout le reste en
découlera
extraire une valeur bien précise pour correction ou utilisation
comme
variable ?
boucle 2
modifier quelques valeurs (je sais faire),
ensuite les coller dans une autre table 2 (je viens d'avoir la
réponse)
cela un certain nombre de fois en fonction d'une valeur dans la 1°
ligne de la table 1
avec une boucle for ..to... next ... (je sais faire)
next 2
next 1 ( je prend la 2° ligne et ainsi de suite)
Merci pour votre aide
miofan
PS: Une réponse ci-dessous que j'ai déjà fourni et qui
pourrait te servir :
Une autre alternative (nécessite l'ajout de la
référence
aux objets ADO)
Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String
sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"
Set oCn1 = CurrentProject.Connection
oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If
oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub
PS:A adapter bien sur.
Bonjour,
merci pour ta réponse,
je précise et je fais plus simple
1° je souhaite récuperer une des valeurs d'un champ de la 1°
ligne de la table
1 pour faire une boucle (ex:8)
2° je souhaite récuperer toutes les valeurs des champs de la
1°
ligne (table
1)
3° je souhaite modifier certaines valeurs
4° je souhaite coller ces valeurs sur la 1° ligne dans une nouvelle
table 2
5° je souhaite faire l'opération 2,3 et 4 ==>8 fois dans la
boucle afin d'avoir
8 lignes (8 pour l'exemple)
6° je souhaite refaire la boucle en passant à la 2° ligne de
ma
table 1
d'ou ma question comment je fais pour extraire les valeurs de la ligne 1
de
la
table 1 dans des variables,
puis de la ligne 2 etc...
Merci pour votre aide,
Miofan
Je persiste mais les extraits ci-dessous de tes demandes ne veulent rien
dire
:
"récuperer une des valeurs d'un champ de la 1° ligne de la
table 1" et
"récuperer toutes les valeurs des champs de la 1° ligne
(table
1)" et
"coller ces valeurs sur la 1° ligne dans une nouvelle table 2"
car les données ne sont pas forcément stocké dans un
ordre
défini, c'est à toi
qu'il revient de le définir d'ou le fait que l'on ne puisse pas
répondre à tes
questions ne connaissant pas l'ordre dans lesquelles tu souhaite les
extraire.
PS: Mais tu possède avec le code que j'ai fourni, un début de
solution parmi d'autre.
bonsoir, voila ce que j'ai bricolé:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
sSQL = "SELECT N°, [RefPF] FROM TPlandeproduction WHERE N° >>> 5;"
'mySQL = "SELECT N°, [RefPF] FROM 'T Plan de production' WHERE N°
= 5;"
For i = 1 To 20
mySQL = "Insert into Données (RefPF,TpsMachine) Values ('"
& RefPF & "',7);"
DoCmd.RunSQL mySQL
Next i
DoCmd.Close
DoCmd.SetWarnings True
End Sub
avec la ligne => mySQL = "Insert into Données
(RefPF,TpsMachine)
Values ('" & RefPF & "',7);"
j'arrive à ecrire une ligne suplémentaire dans la table
Données, la valeur 7 est bien enregistrée mais la valeur RefPF
n'est pas enregistrées.
Ou est l'erreur ? je suppose dans l'extraction !
Merci pour vote aide
Miofans
bonsoir,
je vous informe au fur et à mesure que j'avance, voila ce que j'arive
à faire:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
For i2 = 1 To 5
compteur = DLookup("TpsMachine", "TPlandeproduction",
"N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
mySQL = "Insert into Données (TpsMachine) Values ('" &
TpsMachSolde & "');"
DoCmd.RunSQL mySQL
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
j'ai reussi à extraire ma valeur pour faire ma 1° boucle,
maintenant je doit remplacer la valeur 5 de la boucle 'for i2 = 1 to 5' par
le
nombre d'enregistrement dans la table "TPlandeproduction"
comment compter le nombre d'enregistrement dans une table ?
comment extraire plusieurs valeurs dans la ligne 1 de la table
"TPlandeproduction" ?
je cherche encore avec vos proposition mais por l'instant je n'y arrive pas.
merci encore de votre aide,
Miofans
Bonjour,
j'avance encore un peu plus, j'ai touver la fonction dcount pour compter les
ligne de ma table,
j'ai donc ceci qui fonctionne:
Sub ouvrir_table()
'cette macro fonctionne
Dim sSQL As String
DoCmd.SetWarnings False
compteur2 = DCount("N°", "TPlandeproduction")
For i2 = 1 To compteur2
MsgBox "#" & RefPF & "#" & Komponen & "#"
compteur = DLookup("TpsMachine", "TPlandeproduction", "N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
RefPF = 1698000 + i
Komponen = 5555 + i
mySql = "Insert into Données (RefPF,Komponen,TpsMachine) Values ('" & RefPF &
"','" & Komponen & "','" & TpsMachSolde & "');"
MsgBox "#" & RefPF & "#" & Komponen & "#"
DoCmd.RunSQL mySql
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
il me reste donc à trouver comment faire pour extraire plusieurs valeurs pour
une ligne bien specifique. Il y à la fonction "DLoopkup" mais elle n'extrait
qu'une valeur alors que j'ai besoin d'extraire plusieurs valeurs.
n'esiter pas à me donner un coup de main car en ce moment je passe plusieurs
heures par jour sur ce probleme. Si vous pouvez m'aider également à nettoyer mon
programme de ses imperfections.
Merci à vous tous,
Miofans
miofans a écrit le 05/07/2010 à 00h42 :miofans a écrit le 04/07/2010 à 23h15 :Michel__D a écrit le 04/07/2010 à 22h27 :Re,
miofans a écrit :Michel__D a écrit le 04/07/2010 à 11h36 :Bonjour,
[...]comment je fait pour récuperer toutes les valeurs de la premiere
ligne
d'une
table 1 ?
Ceci ne veut rien dire, précise ta pensée, tout le reste en
découleraextraire une valeur bien précise pour correction ou utilisation
comme
variable ?
boucle 2
modifier quelques valeurs (je sais faire),
ensuite les coller dans une autre table 2 (je viens d'avoir la
réponse)
cela un certain nombre de fois en fonction d'une valeur dans la 1°
ligne de la table 1
avec une boucle for ..to... next ... (je sais faire)
next 2
next 1 ( je prend la 2° ligne et ainsi de suite)
Merci pour votre aide
miofan
PS: Une réponse ci-dessous que j'ai déjà fourni et qui
pourrait te servir :
Une autre alternative (nécessite l'ajout de la
référence
aux objets ADO)
Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String
sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"
Set oCn1 = CurrentProject.Connection
oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If
oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub
PS:A adapter bien sur.
Bonjour,
merci pour ta réponse,
je précise et je fais plus simple
1° je souhaite récuperer une des valeurs d'un champ de la 1°
ligne de la table
1 pour faire une boucle (ex:8)
2° je souhaite récuperer toutes les valeurs des champs de la
1°
ligne (table
1)
3° je souhaite modifier certaines valeurs
4° je souhaite coller ces valeurs sur la 1° ligne dans une nouvelle
table 2
5° je souhaite faire l'opération 2,3 et 4 ==>8 fois dans la
boucle afin d'avoir
8 lignes (8 pour l'exemple)
6° je souhaite refaire la boucle en passant à la 2° ligne de
ma
table 1
d'ou ma question comment je fais pour extraire les valeurs de la ligne 1
dela
table 1 dans des variables,
puis de la ligne 2 etc...
Merci pour votre aide,
Miofan
Je persiste mais les extraits ci-dessous de tes demandes ne veulent rien
dire:
"récuperer une des valeurs d'un champ de la 1° ligne de la
table 1" et
"récuperer toutes les valeurs des champs de la 1° ligne
(table
1)" et
"coller ces valeurs sur la 1° ligne dans une nouvelle table 2"
car les données ne sont pas forcément stocké dans un
ordre
défini, c'est à toi
qu'il revient de le définir d'ou le fait que l'on ne puisse pas
répondre à tes
questions ne connaissant pas l'ordre dans lesquelles tu souhaite les
extraire.
PS: Mais tu possède avec le code que j'ai fourni, un début de
solution parmi d'autre.
bonsoir, voila ce que j'ai bricolé:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
sSQL = "SELECT N°, [RefPF] FROM TPlandeproduction WHERE N° >>> 5;"
'mySQL = "SELECT N°, [RefPF] FROM 'T Plan de production' WHERE N°
= 5;"
For i = 1 To 20
mySQL = "Insert into Données (RefPF,TpsMachine) Values ('"
& RefPF & "',7);"
DoCmd.RunSQL mySQL
Next i
DoCmd.Close
DoCmd.SetWarnings True
End Sub
avec la ligne => mySQL = "Insert into Données
(RefPF,TpsMachine)
Values ('" & RefPF & "',7);"
j'arrive à ecrire une ligne suplémentaire dans la table
Données, la valeur 7 est bien enregistrée mais la valeur RefPF
n'est pas enregistrées.
Ou est l'erreur ? je suppose dans l'extraction !
Merci pour vote aide
Miofans
bonsoir,
je vous informe au fur et à mesure que j'avance, voila ce que j'arive
à faire:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
For i2 = 1 To 5
compteur = DLookup("TpsMachine", "TPlandeproduction",
"N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
mySQL = "Insert into Données (TpsMachine) Values ('" &
TpsMachSolde & "');"
DoCmd.RunSQL mySQL
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
j'ai reussi à extraire ma valeur pour faire ma 1° boucle,
maintenant je doit remplacer la valeur 5 de la boucle 'for i2 = 1 to 5' par
lenombre d'enregistrement dans la table "TPlandeproduction"
comment compter le nombre d'enregistrement dans une table ?
comment extraire plusieurs valeurs dans la ligne 1 de la table
"TPlandeproduction" ?
je cherche encore avec vos proposition mais por l'instant je n'y arrive pas.
merci encore de votre aide,
Miofans
Bonjour,
j'avance encore un peu plus, j'ai touver la fonction dcount pour compter les
ligne de ma table,
j'ai donc ceci qui fonctionne:
Sub ouvrir_table()
'cette macro fonctionne
Dim sSQL As String
DoCmd.SetWarnings False
compteur2 = DCount("N°", "TPlandeproduction")
For i2 = 1 To compteur2
MsgBox "#" & RefPF & "#" & Komponen & "#"
compteur = DLookup("TpsMachine", "TPlandeproduction", "N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
RefPF = 1698000 + i
Komponen = 5555 + i
mySql = "Insert into Données (RefPF,Komponen,TpsMachine) Values ('" & RefPF &
"','" & Komponen & "','" & TpsMachSolde & "');"
MsgBox "#" & RefPF & "#" & Komponen & "#"
DoCmd.RunSQL mySql
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
il me reste donc à trouver comment faire pour extraire plusieurs valeurs pour
une ligne bien specifique. Il y à la fonction "DLoopkup" mais elle n'extrait
qu'une valeur alors que j'ai besoin d'extraire plusieurs valeurs.
n'esiter pas à me donner un coup de main car en ce moment je passe plusieurs
heures par jour sur ce probleme. Si vous pouvez m'aider également à nettoyer mon
programme de ses imperfections.
Merci à vous tous,
Miofans
Bonjour,
miofan a écrit :miofans a écrit le 05/07/2010 à 00h42 :miofans a écrit le 04/07/2010 à 23h15 :Michel__D a écrit le 04/07/2010 à 22h27 :Re,
miofans a écrit :Michel__D a écrit le 04/07/2010 à 11h36 :Bonjour,
[...]comment je fait pour récuperer toutes les valeurs de la premiere
ligne
d'une
table 1 ?
Ceci ne veut rien dire, précise ta pensée, tout le reste en
découleraextraire une valeur bien précise pour correction ou utilisation
comme
variable ?
boucle 2
modifier quelques valeurs (je sais faire),
ensuite les coller dans une autre table 2 (je viens d'avoir la
réponse)
cela un certain nombre de fois en fonction d'une valeur dans la 1°
ligne de la table 1
avec une boucle for ..to... next ... (je sais faire)
next 2
next 1 ( je prend la 2° ligne et ainsi de suite)
Merci pour votre aide
miofan
PS: Une réponse ci-dessous que j'ai déjà fourni et
qui
pourrait te servir :
Une autre alternative (nécessite l'ajout de la
référence
aux objets ADO)
Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String
sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"
Set oCn1 = CurrentProject.Connection
oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If
oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub
PS:A adapter bien sur.
Bonjour,
merci pour ta réponse,
je précise et je fais plus simple
1° je souhaite récuperer une des valeurs d'un champ de la
1°
ligne de la table
1 pour faire une boucle (ex:8)
2° je souhaite récuperer toutes les valeurs des champs de la
1°
ligne (table
1)
3° je souhaite modifier certaines valeurs
4° je souhaite coller ces valeurs sur la 1° ligne dans une
nouvelle
table 2
5° je souhaite faire l'opération 2,3 et 4 ==>8 fois dans la
boucle afin d'avoir
8 lignes (8 pour l'exemple)
6° je souhaite refaire la boucle en passant à la 2° ligne
de
ma
table 1
d'ou ma question comment je fais pour extraire les valeurs de la ligne 1
dela
table 1 dans des variables,
puis de la ligne 2 etc...
Merci pour votre aide,
Miofan
Je persiste mais les extraits ci-dessous de tes demandes ne veulent rien
dire:
"récuperer une des valeurs d'un champ de la 1° ligne de la
table 1" et
"récuperer toutes les valeurs des champs de la 1° ligne
(table
1)" et
"coller ces valeurs sur la 1° ligne dans une nouvelle table
2"
car les données ne sont pas forcément stocké dans un
ordre
défini, c'est à toi
qu'il revient de le définir d'ou le fait que l'on ne puisse pas
répondre à tes
questions ne connaissant pas l'ordre dans lesquelles tu souhaite les
extraire.
PS: Mais tu possède avec le code que j'ai fourni, un début de
solution parmi d'autre.
bonsoir, voila ce que j'ai bricolé:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
sSQL = "SELECT N°, [RefPF] FROM TPlandeproduction WHERE N°
>>> 5;"
'mySQL = "SELECT N°, [RefPF] FROM 'T Plan de production' WHERE
N°
= 5;"
For i = 1 To 20
mySQL = "Insert into Données (RefPF,TpsMachine) Values ('"
& RefPF & "',7);"
DoCmd.RunSQL mySQL
Next i
DoCmd.Close
DoCmd.SetWarnings True
End Sub
avec la ligne => mySQL = "Insert into Données
(RefPF,TpsMachine)
Values ('" & RefPF & "',7);"
j'arrive à ecrire une ligne suplémentaire dans la table
Données, la valeur 7 est bien enregistrée mais la valeur
RefPF
n'est pas enregistrées.
Ou est l'erreur ? je suppose dans l'extraction !
Merci pour vote aide
Miofans
bonsoir,
je vous informe au fur et à mesure que j'avance, voila ce que j'arive
à faire:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
For i2 = 1 To 5
compteur = DLookup("TpsMachine", "TPlandeproduction",
"N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
mySQL = "Insert into Données (TpsMachine) Values ('" &
TpsMachSolde & "');"
DoCmd.RunSQL mySQL
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
j'ai reussi à extraire ma valeur pour faire ma 1° boucle,
maintenant je doit remplacer la valeur 5 de la boucle 'for i2 = 1 to 5' par
lenombre d'enregistrement dans la table "TPlandeproduction"
comment compter le nombre d'enregistrement dans une table ?
comment extraire plusieurs valeurs dans la ligne 1 de la table
"TPlandeproduction" ?
je cherche encore avec vos proposition mais por l'instant je n'y arrive pas.
merci encore de votre aide,
Miofans
Bonjour,
j'avance encore un peu plus, j'ai touver la fonction dcount pour compter les
ligne de ma table,
j'ai donc ceci qui fonctionne:
Sub ouvrir_table()
'cette macro fonctionne
Dim sSQL As String
DoCmd.SetWarnings False
compteur2 = DCount("N°", "TPlandeproduction")
For i2 = 1 To compteur2
MsgBox "#" & RefPF & "#" & Komponen &
"#"
compteur = DLookup("TpsMachine", "TPlandeproduction",
"N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
RefPF = 1698000 + i
Komponen = 5555 + i
mySql = "Insert into Données (RefPF,Komponen,TpsMachine) Values
('" & RefPF &
"','" & Komponen & "','" & TpsMachSolde &
"');"
MsgBox "#" & RefPF & "#" & Komponen &
"#"
DoCmd.RunSQL mySql
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
il me reste donc à trouver comment faire pour extraire plusieurs
valeurs pour
une ligne bien specifique. Il y à la fonction "DLoopkup" mais
elle n'extrait
qu'une valeur alors que j'ai besoin d'extraire plusieurs valeurs.
n'esiter pas à me donner un coup de main car en ce moment je passe
plusieurs
heures par jour sur ce probleme. Si vous pouvez m'aider également
à nettoyer mon
programme de ses imperfections.
Merci à vous tous,
Miofans
Continu, tu es sur la bonne voie.
Bonjour,
miofan a écrit :
miofans a écrit le 05/07/2010 à 00h42 :
miofans a écrit le 04/07/2010 à 23h15 :
Michel__D a écrit le 04/07/2010 à 22h27 :
Re,
miofans a écrit :
Michel__D a écrit le 04/07/2010 à 11h36 :
Bonjour,
[...]
comment je fait pour récuperer toutes les valeurs de la premiere
ligne
d'une
table 1 ?
Ceci ne veut rien dire, précise ta pensée, tout le reste en
découlera
extraire une valeur bien précise pour correction ou utilisation
comme
variable ?
boucle 2
modifier quelques valeurs (je sais faire),
ensuite les coller dans une autre table 2 (je viens d'avoir la
réponse)
cela un certain nombre de fois en fonction d'une valeur dans la 1°
ligne de la table 1
avec une boucle for ..to... next ... (je sais faire)
next 2
next 1 ( je prend la 2° ligne et ainsi de suite)
Merci pour votre aide
miofan
PS: Une réponse ci-dessous que j'ai déjà fourni et
qui
pourrait te servir :
Une autre alternative (nécessite l'ajout de la
référence
aux objets ADO)
Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String
sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"
Set oCn1 = CurrentProject.Connection
oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If
oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub
PS:A adapter bien sur.
Bonjour,
merci pour ta réponse,
je précise et je fais plus simple
1° je souhaite récuperer une des valeurs d'un champ de la
1°
ligne de la table
1 pour faire une boucle (ex:8)
2° je souhaite récuperer toutes les valeurs des champs de la
1°
ligne (table
1)
3° je souhaite modifier certaines valeurs
4° je souhaite coller ces valeurs sur la 1° ligne dans une
nouvelle
table 2
5° je souhaite faire l'opération 2,3 et 4 ==>8 fois dans la
boucle afin d'avoir
8 lignes (8 pour l'exemple)
6° je souhaite refaire la boucle en passant à la 2° ligne
de
ma
table 1
d'ou ma question comment je fais pour extraire les valeurs de la ligne 1
de
la
table 1 dans des variables,
puis de la ligne 2 etc...
Merci pour votre aide,
Miofan
Je persiste mais les extraits ci-dessous de tes demandes ne veulent rien
dire
:
"récuperer une des valeurs d'un champ de la 1° ligne de la
table 1" et
"récuperer toutes les valeurs des champs de la 1° ligne
(table
1)" et
"coller ces valeurs sur la 1° ligne dans une nouvelle table
2"
car les données ne sont pas forcément stocké dans un
ordre
défini, c'est à toi
qu'il revient de le définir d'ou le fait que l'on ne puisse pas
répondre à tes
questions ne connaissant pas l'ordre dans lesquelles tu souhaite les
extraire.
PS: Mais tu possède avec le code que j'ai fourni, un début de
solution parmi d'autre.
bonsoir, voila ce que j'ai bricolé:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
sSQL = "SELECT N°, [RefPF] FROM TPlandeproduction WHERE N°
>>> 5;"
'mySQL = "SELECT N°, [RefPF] FROM 'T Plan de production' WHERE
N°
= 5;"
For i = 1 To 20
mySQL = "Insert into Données (RefPF,TpsMachine) Values ('"
& RefPF & "',7);"
DoCmd.RunSQL mySQL
Next i
DoCmd.Close
DoCmd.SetWarnings True
End Sub
avec la ligne => mySQL = "Insert into Données
(RefPF,TpsMachine)
Values ('" & RefPF & "',7);"
j'arrive à ecrire une ligne suplémentaire dans la table
Données, la valeur 7 est bien enregistrée mais la valeur
RefPF
n'est pas enregistrées.
Ou est l'erreur ? je suppose dans l'extraction !
Merci pour vote aide
Miofans
bonsoir,
je vous informe au fur et à mesure que j'avance, voila ce que j'arive
à faire:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
For i2 = 1 To 5
compteur = DLookup("TpsMachine", "TPlandeproduction",
"N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
mySQL = "Insert into Données (TpsMachine) Values ('" &
TpsMachSolde & "');"
DoCmd.RunSQL mySQL
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
j'ai reussi à extraire ma valeur pour faire ma 1° boucle,
maintenant je doit remplacer la valeur 5 de la boucle 'for i2 = 1 to 5' par
le
nombre d'enregistrement dans la table "TPlandeproduction"
comment compter le nombre d'enregistrement dans une table ?
comment extraire plusieurs valeurs dans la ligne 1 de la table
"TPlandeproduction" ?
je cherche encore avec vos proposition mais por l'instant je n'y arrive pas.
merci encore de votre aide,
Miofans
Bonjour,
j'avance encore un peu plus, j'ai touver la fonction dcount pour compter les
ligne de ma table,
j'ai donc ceci qui fonctionne:
Sub ouvrir_table()
'cette macro fonctionne
Dim sSQL As String
DoCmd.SetWarnings False
compteur2 = DCount("N°", "TPlandeproduction")
For i2 = 1 To compteur2
MsgBox "#" & RefPF & "#" & Komponen &
"#"
compteur = DLookup("TpsMachine", "TPlandeproduction",
"N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
RefPF = 1698000 + i
Komponen = 5555 + i
mySql = "Insert into Données (RefPF,Komponen,TpsMachine) Values
('" & RefPF &
"','" & Komponen & "','" & TpsMachSolde &
"');"
MsgBox "#" & RefPF & "#" & Komponen &
"#"
DoCmd.RunSQL mySql
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
il me reste donc à trouver comment faire pour extraire plusieurs
valeurs pour
une ligne bien specifique. Il y à la fonction "DLoopkup" mais
elle n'extrait
qu'une valeur alors que j'ai besoin d'extraire plusieurs valeurs.
n'esiter pas à me donner un coup de main car en ce moment je passe
plusieurs
heures par jour sur ce probleme. Si vous pouvez m'aider également
à nettoyer mon
programme de ses imperfections.
Merci à vous tous,
Miofans
Continu, tu es sur la bonne voie.
Bonjour,
miofan a écrit :miofans a écrit le 05/07/2010 à 00h42 :miofans a écrit le 04/07/2010 à 23h15 :Michel__D a écrit le 04/07/2010 à 22h27 :Re,
miofans a écrit :Michel__D a écrit le 04/07/2010 à 11h36 :Bonjour,
[...]comment je fait pour récuperer toutes les valeurs de la premiere
ligne
d'une
table 1 ?
Ceci ne veut rien dire, précise ta pensée, tout le reste en
découleraextraire une valeur bien précise pour correction ou utilisation
comme
variable ?
boucle 2
modifier quelques valeurs (je sais faire),
ensuite les coller dans une autre table 2 (je viens d'avoir la
réponse)
cela un certain nombre de fois en fonction d'une valeur dans la 1°
ligne de la table 1
avec une boucle for ..to... next ... (je sais faire)
next 2
next 1 ( je prend la 2° ligne et ainsi de suite)
Merci pour votre aide
miofan
PS: Une réponse ci-dessous que j'ai déjà fourni et
qui
pourrait te servir :
Une autre alternative (nécessite l'ajout de la
référence
aux objets ADO)
Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String
sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"
Set oCn1 = CurrentProject.Connection
oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If
oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub
PS:A adapter bien sur.
Bonjour,
merci pour ta réponse,
je précise et je fais plus simple
1° je souhaite récuperer une des valeurs d'un champ de la
1°
ligne de la table
1 pour faire une boucle (ex:8)
2° je souhaite récuperer toutes les valeurs des champs de la
1°
ligne (table
1)
3° je souhaite modifier certaines valeurs
4° je souhaite coller ces valeurs sur la 1° ligne dans une
nouvelle
table 2
5° je souhaite faire l'opération 2,3 et 4 ==>8 fois dans la
boucle afin d'avoir
8 lignes (8 pour l'exemple)
6° je souhaite refaire la boucle en passant à la 2° ligne
de
ma
table 1
d'ou ma question comment je fais pour extraire les valeurs de la ligne 1
dela
table 1 dans des variables,
puis de la ligne 2 etc...
Merci pour votre aide,
Miofan
Je persiste mais les extraits ci-dessous de tes demandes ne veulent rien
dire:
"récuperer une des valeurs d'un champ de la 1° ligne de la
table 1" et
"récuperer toutes les valeurs des champs de la 1° ligne
(table
1)" et
"coller ces valeurs sur la 1° ligne dans une nouvelle table
2"
car les données ne sont pas forcément stocké dans un
ordre
défini, c'est à toi
qu'il revient de le définir d'ou le fait que l'on ne puisse pas
répondre à tes
questions ne connaissant pas l'ordre dans lesquelles tu souhaite les
extraire.
PS: Mais tu possède avec le code que j'ai fourni, un début de
solution parmi d'autre.
bonsoir, voila ce que j'ai bricolé:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
sSQL = "SELECT N°, [RefPF] FROM TPlandeproduction WHERE N°
>>> 5;"
'mySQL = "SELECT N°, [RefPF] FROM 'T Plan de production' WHERE
N°
= 5;"
For i = 1 To 20
mySQL = "Insert into Données (RefPF,TpsMachine) Values ('"
& RefPF & "',7);"
DoCmd.RunSQL mySQL
Next i
DoCmd.Close
DoCmd.SetWarnings True
End Sub
avec la ligne => mySQL = "Insert into Données
(RefPF,TpsMachine)
Values ('" & RefPF & "',7);"
j'arrive à ecrire une ligne suplémentaire dans la table
Données, la valeur 7 est bien enregistrée mais la valeur
RefPF
n'est pas enregistrées.
Ou est l'erreur ? je suppose dans l'extraction !
Merci pour vote aide
Miofans
bonsoir,
je vous informe au fur et à mesure que j'avance, voila ce que j'arive
à faire:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
For i2 = 1 To 5
compteur = DLookup("TpsMachine", "TPlandeproduction",
"N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
mySQL = "Insert into Données (TpsMachine) Values ('" &
TpsMachSolde & "');"
DoCmd.RunSQL mySQL
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
j'ai reussi à extraire ma valeur pour faire ma 1° boucle,
maintenant je doit remplacer la valeur 5 de la boucle 'for i2 = 1 to 5' par
lenombre d'enregistrement dans la table "TPlandeproduction"
comment compter le nombre d'enregistrement dans une table ?
comment extraire plusieurs valeurs dans la ligne 1 de la table
"TPlandeproduction" ?
je cherche encore avec vos proposition mais por l'instant je n'y arrive pas.
merci encore de votre aide,
Miofans
Bonjour,
j'avance encore un peu plus, j'ai touver la fonction dcount pour compter les
ligne de ma table,
j'ai donc ceci qui fonctionne:
Sub ouvrir_table()
'cette macro fonctionne
Dim sSQL As String
DoCmd.SetWarnings False
compteur2 = DCount("N°", "TPlandeproduction")
For i2 = 1 To compteur2
MsgBox "#" & RefPF & "#" & Komponen &
"#"
compteur = DLookup("TpsMachine", "TPlandeproduction",
"N°= " & i2)
TpsMachSolde = compteur
For i = 1 To compteur
RefPF = 1698000 + i
Komponen = 5555 + i
mySql = "Insert into Données (RefPF,Komponen,TpsMachine) Values
('" & RefPF &
"','" & Komponen & "','" & TpsMachSolde &
"');"
MsgBox "#" & RefPF & "#" & Komponen &
"#"
DoCmd.RunSQL mySql
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
il me reste donc à trouver comment faire pour extraire plusieurs
valeurs pour
une ligne bien specifique. Il y à la fonction "DLoopkup" mais
elle n'extrait
qu'une valeur alors que j'ai besoin d'extraire plusieurs valeurs.
n'esiter pas à me donner un coup de main car en ce moment je passe
plusieurs
heures par jour sur ce probleme. Si vous pouvez m'aider également
à nettoyer mon
programme de ses imperfections.
Merci à vous tous,
Miofans
Continu, tu es sur la bonne voie.
PS: Une réponse ci-dessous que j'ai déjà fourni et
qui
pourrait te servir :
Une autre alternative (nécessite l'ajout de la
référence
aux objets ADO)
Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String
sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"
Set oCn1 = CurrentProject.Connection
oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If
oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub
PS:A adapter bien sur.
je progresse encore et j'ai enfin trouvé la bonne syntaxe de insert into.....
select .....where ......
ci dessous le code:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
compteur2 = DCount("N°", "TPlandeproduction")
For i2 = 1 To compteur2
Sql = "INSERT INTO Données
(RefPF,Dépot,Komponen,QuantitéMP,Unité,Materialkurztext,PosTra) SELECT
RefPF,Dépot,Komponen,QuantitéMP,Unité,Materialkurztext,PosTra FROM
TPlandeproduction where N° = i2 "
compteur = DLookup("TpsMachine", "TPlandeproduction", "N°= " & i2)
DoCmd.RunSQL Sql
TpsMachSolde = compteur
For i = 1 To compteur
RefPF = 1698000 + i
Komponen = 5555 + i
mySql = "Insert into Données (RefPF,Komponen,TpsMachine) Values ('" & RefPF &
"','" & Komponen & "','" & TpsMachSolde & "');"
MsgBox "#" & RefPF & "#" & Komponen & "#"
DoCmd.RunSQL Sql
DoCmd.RunSQL mySql
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
par contre je n'arrive pas à utilise une variable ici i2 pour le => where
N° = i2
si vous avez la solution pour la syntaxe de la variable merci de ne pas me
laisser mariné car il y a sur google tellement de combinaison que cela prend du
temps de faire tous ces essais.
Merci d'avance
PS: Une réponse ci-dessous que j'ai déjà fourni et
qui
pourrait te servir :
Une autre alternative (nécessite l'ajout de la
référence
aux objets ADO)
Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String
sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"
Set oCn1 = CurrentProject.Connection
oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If
oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub
PS:A adapter bien sur.
je progresse encore et j'ai enfin trouvé la bonne syntaxe de insert into.....
select .....where ......
ci dessous le code:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
compteur2 = DCount("N°", "TPlandeproduction")
For i2 = 1 To compteur2
Sql = "INSERT INTO Données
(RefPF,Dépot,Komponen,QuantitéMP,Unité,Materialkurztext,PosTra) SELECT
RefPF,Dépot,Komponen,QuantitéMP,Unité,Materialkurztext,PosTra FROM
TPlandeproduction where N° = i2 "
compteur = DLookup("TpsMachine", "TPlandeproduction", "N°= " & i2)
DoCmd.RunSQL Sql
TpsMachSolde = compteur
For i = 1 To compteur
RefPF = 1698000 + i
Komponen = 5555 + i
mySql = "Insert into Données (RefPF,Komponen,TpsMachine) Values ('" & RefPF &
"','" & Komponen & "','" & TpsMachSolde & "');"
MsgBox "#" & RefPF & "#" & Komponen & "#"
DoCmd.RunSQL Sql
DoCmd.RunSQL mySql
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
par contre je n'arrive pas à utilise une variable ici i2 pour le => where
N° = i2
si vous avez la solution pour la syntaxe de la variable merci de ne pas me
laisser mariné car il y a sur google tellement de combinaison que cela prend du
temps de faire tous ces essais.
Merci d'avance
PS: Une réponse ci-dessous que j'ai déjà fourni et
qui
pourrait te servir :
Une autre alternative (nécessite l'ajout de la
référence
aux objets ADO)
Sub RequeteADO()
Dim oCn1 As ADODB.Connection
Dim oRst As New ADODB.Recordset
Dim sSQL As String
sSQL = "SELECT IdEenr, [SOMME] FROM LaTable WHERE IdEnr = 5;"
Set oCn1 = CurrentProject.Connection
oRst.Open sSQL, oCn1, adOpenForwardOnly, adLockReadOnly
If Not oRst.EOF Then
nValeur = oRst!SOMME
End If
oRst.Close
oCn1.Close
Set oRst = Nothing
Set oCn1 = Nothing
End Sub
PS:A adapter bien sur.
je progresse encore et j'ai enfin trouvé la bonne syntaxe de insert into.....
select .....where ......
ci dessous le code:
Sub ouvrir_table2()
Dim sSQL As String
DoCmd.SetWarnings False
compteur2 = DCount("N°", "TPlandeproduction")
For i2 = 1 To compteur2
Sql = "INSERT INTO Données
(RefPF,Dépot,Komponen,QuantitéMP,Unité,Materialkurztext,PosTra) SELECT
RefPF,Dépot,Komponen,QuantitéMP,Unité,Materialkurztext,PosTra FROM
TPlandeproduction where N° = i2 "
compteur = DLookup("TpsMachine", "TPlandeproduction", "N°= " & i2)
DoCmd.RunSQL Sql
TpsMachSolde = compteur
For i = 1 To compteur
RefPF = 1698000 + i
Komponen = 5555 + i
mySql = "Insert into Données (RefPF,Komponen,TpsMachine) Values ('" & RefPF &
"','" & Komponen & "','" & TpsMachSolde & "');"
MsgBox "#" & RefPF & "#" & Komponen & "#"
DoCmd.RunSQL Sql
DoCmd.RunSQL mySql
TpsMachSolde = TpsMachSolde - 1
Next i
Next i2
DoCmd.Close
DoCmd.SetWarnings True
End Sub
par contre je n'arrive pas à utilise une variable ici i2 pour le => where
N° = i2
si vous avez la solution pour la syntaxe de la variable merci de ne pas me
laisser mariné car il y a sur google tellement de combinaison que cela prend du
temps de faire tous ces essais.
Merci d'avance