| 6 fl0, le 2 avr 2007 à 11:47:47Oui je m'en suis deja servi mais depuis le debut je ne declare aucune variables je c que ce n'est pas bien mais vu que je ne voi pas la difference
en tout cas merci de tes conseils Répondre à fl0 | 7 blux, le 2 avr 2007 à 12:39:34Ca prend (beaucoup) plus de place en mémoire, c'est pas (trop) bien géré, pis c'est pas beau...
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 8 fl0, le 5 avr 2007 à 15:04:53Meme operation mais pour supprimé un enregistrement Répondre à fl0 |
| 9 blux, le 5 avr 2007 à 15:54:03.delete après avoir trouvé le bon record en parcourant le recordset avec .movenext ou un positionnement par index...
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 10 fl0, le 6 avr 2007 à 09:22:59Salut et merci de ton aide
en fait ce qu'il faut que je fasse c'est la meme chose que pour ajouter maisa la place de .addnew il faut que je mette .delete
c'est ca Répondre à fl0 |
| 11 blux, le 6 avr 2007 à 09:25:15Faut quand même se placer sur le record à supprimer...
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 12 fl0, le 6 avr 2007 à 09:42:05Set MaTable = CurrentDb.OpenRecordset("Utilisateurs", dbOpenDynaset)
On Error Resume Next
With MaTable
la j'ouvre ma table mais apres comment je lui dit de se sur placer le record que je veut
.delete
!Nom
si je marque ca il me dit qu'il attend un = apres le !Nom Répondre à fl0 |
| 13 blux, le 6 avr 2007 à 09:53:14Relis le message 9...
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 14 fl0, le 6 avr 2007 à 10:12:53Tu pense bien que si j'insiste c'est parceque je ne comprend rien a l'aide microsoft
mais
est ce que tu croit que ca ca pourrait marcher
Set MaTable = CurrentDb.OpenRecordset("Utilisateurs", dbOpenDynaset)
On Error Resume Next
With MaTable
.cleprimaire.delete
if not recordset.EOF
.movenext
else
.moveprevious
end if
.Update
.Requery
End With
If err.Number <> 0 Then
MsgBox err.Description, , err.Number
GoTo Fin:
End If
MaTable.Close
Set MaTable = Nothing
Fin: Répondre à fl0 | 16 blux, le 6 avr 2007 à 10:34:55Pour supprimer : Set MaTable = CurrentDb.OpenRecordset("Utilisateurs", dbOpenDynaset)
matable.movefirst
while not matable.eof
if matable!champ = valeurquejecherche then
matable.delete
matable.requery
goto suite:
endif
matable.movenext
wend
suite:
matable.close
set matable = nothing
Ca c'est bourrin, si tu veux un accès immédiat à ta donnée (et qu'elle est indéxée), tu joues avec index et .seek
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 17 fl0, le 6 avr 2007 à 10:48:51Ton truc maTable.delete j'espere que ca ne supprime pas la table Répondre à fl0 | 19 blux, le 6 avr 2007 à 11:10:01:-/
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
|
| 18 fl0, le 6 avr 2007 à 10:51:51Merci blux ca marche je pense que je t'ai umpeu pris la tete mais merci de ta patience Répondre à fl0 |
|
| 15 fl0, le 6 avr 2007 à 10:34:53En faite je fait autrement parceque la ca me soule
CurrentDb.Execute "DELETE FROM Utilisateurs WHERE Nom ='Robert'"
mon permier souci c'est que je ne veut pas supprimer tout le temp le pauvre robert mais ca je peut me debrouiller je veut supprimer l'enregistrement qui aura a la place de robert ce que je metterai dans un texte
mais mon probleme c'est que lorseque je fait la requete apres il l'execute mais il ne a ferme pas Répondre à fl0 |
| 20 fl0, le 10 avr 2007 à 10:00:32Salut
mon probleme ressemble aux autres est ce que tu as une technique pour mettre a jour un enregistrement ou je doit me debrouiller en supprimant l'enregistrement et en l'ajoutant apres? Répondre à fl0 |
| 21 blux, le 10 avr 2007 à 10:28:29Je compresn plus rien, entre les message qui disent que ça te saoule, mais que tu fais quand même et les autres, je suis perdu...
Ton nouveau problème, c'est de modifier une record ?
alors, tu utiliseras .edit et .update pour valider tes mises à jour.
L'accès à ton record se fera comme d'hab, un recordset et des movenets ou seek...
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 22 fl0, le 10 avr 2007 à 11:48:20Non non j'ai pris ta technique je la trouve pas mal
ce que je voulais faire ne marchais pas bien
merci de ton aide Répondre à fl0 |
| 23 fl0, le 11 avr 2007 à 13:48:01Salut
y a t'il moyen de mettre a jour juste un champ d'un enregistrement
c'est ce que tu me dit avec .edit c'est ca ? Répondre à fl0 | 24 blux, le 11 avr 2007 à 14:03:28Oui
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 25 fl0, le 11 avr 2007 à 14:21:27Desolé pour la longueur
j'ai trouvé un exemple dans l'aide microsoft le probleme c'est que je n'y comprend rien
Sub EditX()
Dim dbsNorthwind As Database
Dim rstEmployees As Recordset
Dim strOldFirst As String
Dim strOldLast As String
Dim strFirstName As String
Dim strLastName As String
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set rstEmployees = _
dbsNorthwind.OpenRecordset("Employees", _
dbOpenDynaset)
' Store original data.
strOldFirst = rstEmployees!FirstName
strOldLast = rstEmployees!LastName
' Get new data for record.
strFirstName = Trim(InputBox( _
"Enter first name:"))
strLastName = Trim(InputBox( _
"Enter last name:"))
' Proceed if the user entered something for both fields.
If strFirstName <> "" and strLastName <> "" Then
' Update record with new data.
EditName rstEmployees, strFirstName, strLastName
With rstEmployees
' Show old and new data.
Debug.Print "Old data: " & strOldFirst & _
" " & strOldLast
Debug.Print "New data: " & !FirstName & _
" " & !LastName
' Restore original data because this is a
' demonstration.
.Edit
!FirstName = strOldFirst
!LastName = strOldLast
.Update
End With
Else
Debug.Print _
"You must input a string for first and last name!"
End If
rstEmployees.Close
dbsNorthwind.Close
End Sub
Sub EditName(rstTemp As Recordset, _
strFirst As String, strLast As String)
' Make changes to record and set the bookmark to keep
' the same record current.
With rstTemp
.Edit
!FirstName = strFirst
!LastName = strLast
.Update
.Bookmark = .LastModified
End With
End Sub
si tu peut m'eclairer umpeu ca serais genial Répondre à fl0 |
| 26 blux, le 11 avr 2007 à 14:37:01Parcourir une table et modifier un champ d'un article :
Dim MaTable as RecordSet
Set MaTable = CurrentDb.OpenRecordset("Utilisateurs", dbOpenDynaset)
MaTable.MoveFirst
while not eof.matable
if !champ = celuiquejecherche then
matable.edit
!champ1 = valeurquejemodifie
matable.Update
matable.Requery
endif
matable.movenext
wend
MaTable.Close
Set MaTable = Nothing
End Sub
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 27 fl0, le 11 avr 2007 à 14:38:41Merci je vais essayer je croit que tu ma encore carrement donné la solution Répondre à fl0 |
| 28 fl0, le 11 avr 2007 à 14:58:28Je ne peut pas changer la clé primaire ou j'ai juste a changer champ1 par champ Répondre à fl0 | 29 blux, le 11 avr 2007 à 15:09:01Si ta clé primaire est en relation avec d'autres tables, alors, pas de modification de sa valeur de manière simple...
ou j'ai juste a changer champ1 par champ
Que veux-tu faire au juste ?
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 32 fl0, le 11 avr 2007 à 15:24:30Dans le code que tu ma donné
a la place de champ1 (la ou je met ma valeur modifie)
je met champ Répondre à fl0 |
|
| 30 fl0, le 11 avr 2007 à 15:09:10Il me dit qu'il y a une erreur au niveau
if !Nom = ....
erreur de compilation
il me dit reference incorrect ou non qualifié Répondre à fl0 |
| 31 fl0, le 11 avr 2007 à 15:14:39J'ai ersolu mon probleme j'ai mis MaTable!Nom
mais il ne veut pas de .edit il me dit
"erreur de compilation
membre de methode ou de données introuvable" Répondre à fl0 | 33 blux, le 11 avr 2007 à 15:33:56J'ai recopié le code d'un message précédent, supprime matable.edit
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 34 fl0, le 11 avr 2007 à 15:36:35J'ai mis avec des majuscules
MaTable.edit
maintenant il me met l'erreur
incompatibilité de type au niveau de
Set MaTable = CurrentDb.OpenRecordset("Utilisateurs", dbOpenDynaset) Répondre à fl0 |
| 35 blux, le 11 avr 2007 à 16:27:52T'as supprimé matable.edit ?
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 37 blux, le 11 avr 2007 à 16:40:00T'as déclaré matable en quoi ?
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux | 39 blux, le 11 avr 2007 à 16:53:44T'as pas une référence manquante à DAO (menu outils/références dans le fenêtre de code) ?
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 41 blux, le 11 avr 2007 à 16:56:30Ca manquait ?
Si c'est le cas, ça doit être bon...
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 43 fl0, le 12 avr 2007 à 08:36:35Salut
c'est bon Blux
j'ai reussi en fait il ne faut pas declarer MaTable en Recordset et il faut bien laisser MaTable.Edit pour modifier et ensuite faire un .update
Pour info ca marche tres bien avec les cle primaire
Merci de ton aide Répondre à fl0 |
| 44 fl0, le 12 avr 2007 à 11:26:16Ca continu a planter il tourne en boucle donc la solution que j'ai choisi c'est un
goto Fin:
a la fin du if
et j'ai mis le
fin:
avant MaTable=nothing Répondre à fl0 |
| 45 blux, le 12 avr 2007 à 12:45:05Tu peux me coller le code ici ?
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 46 fl0, le 12 avr 2007 à 13:45:35Set MaTable = CurrentDb.OpenRecordset("Utilisateurs", dbOpenDynaset)
MaTable.MoveFirst
While Not MaTable.EOF
If MaTable!Nom = Form_Modification!txtnomu Then
MaTable.Edit
MaTable!Nom = Form_Modification!txtnouveaunom
MaTable.Update
MaTable.Requery
MsgBox ("operation reussi")
GoTo Fin:
End If
MaTable.MoveNext
Wend
Fin:
MaTable.Close
Set MaTable = Nothing Répondre à fl0 |
| 47 blux, le 12 avr 2007 à 13:55:18Tu peux faire plus propre avec DO...LOOP qui te permet grâce à un EXIT DO de sortir de la boucle avant la vérification de la condition... Do while Not matable.eof
if MaTable!Nom = Form_Modification!txtnomu Then
MaTable.Edit
MaTable!Nom = Form_Modification!txtnouveaunom
MaTable.Update
MaTable.Requery
MsgBox ("operation reussi")
exit do
endif
matable.movenext
Loop
MaTable.Close
Set MaTable = Nothing
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
|
|
|
|