Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb syntaxe Cde: DoCmd.FindRecord

5 réponses
Avatar
Alain TEYSSEDRE
Bonjour

Qui peut me corriger mes "fotes d'ortografe ?" car malgré l'aide en ligne je
n'y arrive
pas.

je souhaite me positionner directemment sur un enregistrement pour le
modifier
Champ 1 est mon champ indexé Clé Primaire de type Num Auto

Set dbs = CurrentDb
Set rst = dbs![MaTable].OpenRecordset(dbOpenTable)

DoCmd.FindRecord [Champ1], acAnywhere, , acSearchAll
rst.edit
....


mais c'est pas bon !!!

Merci pour votre aide

Alain

5 réponses

Avatar
Buddy
Salut

Essaies ça :

Set rst = CurrentDb.OpenRecordset("MaTable")
With rst
.FindFirst "TonChamp = TonCritere"
If .NoMatch Then
MsgBox "Pas trouvé."
Else
.Edit
'Ici tu fais tes modif
.Update
End If
End With
Set rst = Nothing

Ouala
Bye
Buddy

DoCmd.FindRecord [Champ1], acAnywhere, , acSearchAll
rst.edit



"Alain TEYSSEDRE" a écrit dans le
message de news:
Bonjour

Qui peut me corriger mes "fotes d'ortografe ?" car malgré l'aide en ligne
je

n'y arrive
pas.

je souhaite me positionner directemment sur un enregistrement pour le
modifier
Champ 1 est mon champ indexé Clé Primaire de type Num Auto

Set dbs = CurrentDb
Set rst = dbs![MaTable].OpenRecordset(dbOpenTable)

DoCmd.FindRecord [Champ1], acAnywhere, , acSearchAll
rst.edit
....


mais c'est pas bon !!!

Merci pour votre aide

Alain




Avatar
Alain TEYSSEDRE
Bonsoir Buddy

Bon je dois reconnaitre que je ne suis pas arrivé à faire fonctionner le
findfirst
il y a un pb (j'ai mis TonChamp = le nom du champ de destination dans ma
table
et TonCritère = le Nom d'un champ dans mon formulaire)

Néanmoins j'ai contourné le pb en utilisant simplement les champs de mon
formulaire

(j'ai souvent tendance à compliquer les choses simples)

merci encore pour ton aide, puisque je compte re-utiliser l'expression
findfirst .

@+
Alain


"Buddy" a écrit dans le message de
news:%
Salut

Essaies ça :

Set rst = CurrentDb.OpenRecordset("MaTable")
With rst
.FindFirst "TonChamp = TonCritere"
If .NoMatch Then
MsgBox "Pas trouvé."
Else
.Edit
'Ici tu fais tes modif
.Update
End If
End With
Set rst = Nothing

Ouala
Bye
Buddy

DoCmd.FindRecord [Champ1], acAnywhere, , acSearchAll
rst.edit



"Alain TEYSSEDRE" a écrit dans le
message de news:
Bonjour

Qui peut me corriger mes "fotes d'ortografe ?" car malgré l'aide en
ligne


je
n'y arrive
pas.

je souhaite me positionner directemment sur un enregistrement pour le
modifier
Champ 1 est mon champ indexé Clé Primaire de type Num Auto

Set dbs = CurrentDb
Set rst = dbs![MaTable].OpenRecordset(dbOpenTable)

DoCmd.FindRecord [Champ1], acAnywhere, , acSearchAll
rst.edit
....


mais c'est pas bon !!!

Merci pour votre aide

Alain








Avatar
Thierry
Bonjour,

J'ai les mêmes soucis, mais je dois rechercher dans un
champ texte, non pas l'intégralité, mais une partie
tronquée d'un texte.
Par ex :
dans un champ [Ville], je veux les enregistrements qui
contiennent "seine".

J'ai essayé la methode ci-dessous avec le caractère *,
mais sans résultat.


Merci pour votre aide

Thierry


-----Message d'origine-----
Salut

Essaies ça :

Set rst = CurrentDb.OpenRecordset("MaTable")
With rst
.FindFirst "TonChamp = TonCritere"
If .NoMatch Then
MsgBox "Pas trouvé."
Else
.Edit
'Ici tu fais tes modif
.Update
End If
End With
Set rst = Nothing

Ouala
Bye
Buddy

DoCmd.FindRecord [Champ1], acAnywhere, , acSearchAll
rst.edit



"Alain TEYSSEDRE"
a écrit dans le

message de news:
Bonjour

Qui peut me corriger mes "fotes d'ortografe ?" car
malgré l'aide en ligne


je
n'y arrive
pas.

je souhaite me positionner directemment sur un
enregistrement pour le


modifier
Champ 1 est mon champ indexé Clé Primaire de type Num
Auto



Set dbs = CurrentDb
Set rst = dbs![MaTable].OpenRecordset(dbOpenTable)

DoCmd.FindRecord [Champ1], acAnywhere, , acSearchAll
rst.edit
....


mais c'est pas bon !!!

Merci pour votre aide

Alain





.




Avatar
Raymond [mvp]
Bonsoir.

La syntaxe du findfirst peut s'écrire comme ca:
Dim Tbl As DAO.Recordset
Set Tbl = CurrentDb.OpenRecordset("select * from table1")
Tbl.FindFirst "[ville] like '*seine*'"
If Tbl.NoMatch Then
MsgBox "erreur"
End If

findrecord ne peut pas s'appliquer à une table.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Thierry" a écrit dans le message de
news:0e6a01c3df9c$ac1511a0$
Bonjour,

J'ai les mêmes soucis, mais je dois rechercher dans un
champ texte, non pas l'intégralité, mais une partie
tronquée d'un texte.
Par ex :
dans un champ [Ville], je veux les enregistrements qui
contiennent "seine".

J'ai essayé la methode ci-dessous avec le caractère *,
mais sans résultat.


Merci pour votre aide

Thierry
Avatar
Bonsoir,

ça marche impec.

Merci

Thierry

-----Message d'origine-----
Bonsoir.

La syntaxe du findfirst peut s'écrire comme ca:
Dim Tbl As DAO.Recordset
Set Tbl = CurrentDb.OpenRecordset("select * from table1")
Tbl.FindFirst "[ville] like '*seine*'"
If Tbl.NoMatch Then
MsgBox "erreur"
End If

findrecord ne peut pas s'appliquer à une table.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Thierry" a écrit
dans le message de

news:0e6a01c3df9c$ac1511a0$
Bonjour,

J'ai les mêmes soucis, mais je dois rechercher dans un
champ texte, non pas l'intégralité, mais une partie
tronquée d'un texte.
Par ex :
dans un champ [Ville], je veux les enregistrements qui
contiennent "seine".

J'ai essayé la methode ci-dessous avec le caractère *,
mais sans résultat.


Merci pour votre aide

Thierry


.