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

Formulaire taquin...

27 réponses
Avatar
Karim
Bonjour,

J'ai un probl=E8me qui d=E9passe les limites de mon petit=20
intellect, je me permets donc de vous le soumettre...

Mon formulaire modal affiche les donn=E9es de la table=20
Exploitant.
Voici le Form_load... (=E9pur=E9 tant que j'ai pu)


Private Sub Form_Load()
On Error GoTo Err_Form_Load

'D=E9terminer le mode d'ouverture de cette fen=EAtre
If Not IsNull(Me.OpenArgs) Then

sOpenArgs =3D Split(Me.OpenArgs, ";")
=20
If DCount("ExpNum", "Exploitant", "ExpNum=3D'" &=20
sOpenArgs(0) & "'") > 0 Then
'Un exploitant ou annonceur a d=E9j=E0 ce nom
'Je ne veux afficher que lui
Me.RecordSource =3D "SELECT * from Exploitant WHERE=20
Exploitant.ExpNum =3D'" & sOpenArgs(0) & "'"
End If
=20
'Afficher ou cacher les boutons
ShowButtons "NOTINLIST"

'Si le formulaire Dispositif est ouvert, affichage des=20
donn=E9es
ElseIf CurrentProject.AllForms("Dispositif").IsLoaded Then
enregE =3D Forms!Dispositif!ExpNum
enregA =3D Forms!Dispositif!DisAnn
=20
sql =3D ""
If Not IsNull(enregE) Then
sql =3D "'" & enregE & "'"
End If
=20
If Not IsNull(enregA) Then
If IsNull(enregE) Then
sql =3D "'" & enregA & "'"
Else
sql =3D sql & ",'" & enregA & "'"
End If
End If
=20
If sql <> "" Then
'Afficher un ou deux exploitants
sql =3D "select * from Exploitant WHERE=20
Exploitant.ExpNum IN (" & sql & ") AND ExpAct =3D -1"
Me.RecordSource =3D sql
End If
ShowButtons "DISPO"
Else
ShowButtons "PARAM"
End If

Exit_Form_Load:
Exit Sub
Err_Form_Load:
Erreur Me.Name, "Form_Load"
Resume Exit_Form_Load
End Sub


Mon souci, c'est que si je suis dans le cas du ElseIf,=20
tout va bien (mes exploitants sont affich=E9s), mais si je=20
suis dans le cas du If mon recordset est vide...

N'h=E9sitez pas =E0 me contacter si vous voulez des=20
pr=E9cisions sur ce pb... (je sais que ce n'est pas tr=E8s=20
clair)

Merci de votre patience et de votre aide

Karim

10 réponses

1 2 3
Avatar
Yann
Salut Karim,
Il manque un ";" à la fin de ta requête...

Bye
Yann

-----Message d'origine-----
Bonjour,

J'ai un problème qui dépasse les limites de mon petit
intellect, je me permets donc de vous le soumettre...

Mon formulaire modal affiche les données de la table
Exploitant.
Voici le Form_load... (épuré tant que j'ai pu)


Private Sub Form_Load()
On Error GoTo Err_Form_Load

'Déterminer le mode d'ouverture de cette fenêtre
If Not IsNull(Me.OpenArgs) Then

sOpenArgs = Split(Me.OpenArgs, ";")

If DCount("ExpNum", "Exploitant", "ExpNum='" &
sOpenArgs(0) & "'") > 0 Then
'Un exploitant ou annonceur a déjà ce nom
'Je ne veux afficher que lui
Me.RecordSource = "SELECT * from Exploitant
WHERE

Exploitant.ExpNum ='" & sOpenArgs(0) & "'"
End If

'Afficher ou cacher les boutons
ShowButtons "NOTINLIST"

'Si le formulaire Dispositif est ouvert, affichage des
données
ElseIf CurrentProject.AllForms("Dispositif").IsLoaded
Then

enregE = Forms!Dispositif!ExpNum
enregA = Forms!Dispositif!DisAnn

sql = ""
If Not IsNull(enregE) Then
sql = "'" & enregE & "'"
End If

If Not IsNull(enregA) Then
If IsNull(enregE) Then
sql = "'" & enregA & "'"
Else
sql = sql & ",'" & enregA & "'"
End If
End If

If sql <> "" Then
'Afficher un ou deux exploitants
sql = "select * from Exploitant WHERE
Exploitant.ExpNum IN (" & sql & ") AND ExpAct = -1"
Me.RecordSource = sql
End If
ShowButtons "DISPO"
Else
ShowButtons "PARAM"
End If

Exit_Form_Load:
Exit Sub
Err_Form_Load:
Erreur Me.Name, "Form_Load"
Resume Exit_Form_Load
End Sub


Mon souci, c'est que si je suis dans le cas du ElseIf,
tout va bien (mes exploitants sont affichés), mais si je
suis dans le cas du If mon recordset est vide...

N'hésitez pas à me contacter si vous voulez des
précisions sur ce pb... (je sais que ce n'est pas très
clair)

Merci de votre patience et de votre aide

Karim

.



Avatar
Pierre CFI [mvp]
bonjour
mais ExpNum est string ???
si oui, je pense OpenArgs doit l'étre aussi et dans ce cas on teste plutot <>"" que Null
Tu as fait un pas à pas pour voir la "bouille" des variables ??

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans le message de news:0a5401c49a69$4ceb9e50$
Bonjour,

J'ai un problème qui dépasse les limites de mon petit
intellect, je me permets donc de vous le soumettre...

Mon formulaire modal affiche les données de la table
Exploitant.
Voici le Form_load... (épuré tant que j'ai pu)


Private Sub Form_Load()
On Error GoTo Err_Form_Load

'Déterminer le mode d'ouverture de cette fenêtre
If Not IsNull(Me.OpenArgs) Then

sOpenArgs = Split(Me.OpenArgs, ";")

If DCount("ExpNum", "Exploitant", "ExpNum='" &
sOpenArgs(0) & "'") > 0 Then
'Un exploitant ou annonceur a déjà ce nom
'Je ne veux afficher que lui
Me.RecordSource = "SELECT * from Exploitant WHERE
Exploitant.ExpNum ='" & sOpenArgs(0) & "'"
End If

'Afficher ou cacher les boutons
ShowButtons "NOTINLIST"

'Si le formulaire Dispositif est ouvert, affichage des
données
ElseIf CurrentProject.AllForms("Dispositif").IsLoaded Then
enregE = Forms!Dispositif!ExpNum
enregA = Forms!Dispositif!DisAnn

sql = ""
If Not IsNull(enregE) Then
sql = "'" & enregE & "'"
End If

If Not IsNull(enregA) Then
If IsNull(enregE) Then
sql = "'" & enregA & "'"
Else
sql = sql & ",'" & enregA & "'"
End If
End If

If sql <> "" Then
'Afficher un ou deux exploitants
sql = "select * from Exploitant WHERE
Exploitant.ExpNum IN (" & sql & ") AND ExpAct = -1"
Me.RecordSource = sql
End If
ShowButtons "DISPO"
Else
ShowButtons "PARAM"
End If

Exit_Form_Load:
Exit Sub
Err_Form_Load:
Erreur Me.Name, "Form_Load"
Resume Exit_Form_Load
End Sub


Mon souci, c'est que si je suis dans le cas du ElseIf,
tout va bien (mes exploitants sont affichés), mais si je
suis dans le cas du If mon recordset est vide...

N'hésitez pas à me contacter si vous voulez des
précisions sur ce pb... (je sais que ce n'est pas très
clair)

Merci de votre patience et de votre aide

Karim
Avatar
Pierre CFI [mvp]
.../...
hum, je ne mets jamais de ; dans mon code, y a autre chose :o)) (c'est peut etre du code copié sur le site de arno , ou arnaud ou
??? qui évidement ne marche pas)
d'ou son déguisement... :o))))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Yann" a écrit dans le message de news:217a01c49a6a$e1daa4b0$
Salut Karim,
Il manque un ";" à la fin de ta requête...

Bye
Yann
Avatar
Karim
Oui j'ai fait un pas à pas...

La requête dans le RecordSource est bonne (en faisant un
copier-coller et en l'exécutant, elle me renvoie bien 1
enreg.). Par contre, si je teste
Me.Recordset.RecordCount, il vaut 0.




-----Message d'origine-----
bonjour
mais ExpNum est string ???
si oui, je pense OpenArgs doit l'étre aussi et dans ce
cas on teste plutot <>"" que Null

Tu as fait un pas à pas pour voir la "bouille" des
variables ??


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:0a5401c49a69$4ceb9e50

$
Bonjour,

J'ai un problème qui dépasse les limites de mon petit
intellect, je me permets donc de vous le soumettre...

Mon formulaire modal affiche les données de la table
Exploitant.
Voici le Form_load... (épuré tant que j'ai pu)


Private Sub Form_Load()
On Error GoTo Err_Form_Load

'Déterminer le mode d'ouverture de cette fenêtre
If Not IsNull(Me.OpenArgs) Then

sOpenArgs = Split(Me.OpenArgs, ";")

If DCount("ExpNum", "Exploitant", "ExpNum='" &
sOpenArgs(0) & "'") > 0 Then
'Un exploitant ou annonceur a déjà ce nom
'Je ne veux afficher que lui
Me.RecordSource = "SELECT * from Exploitant WHERE
Exploitant.ExpNum ='" & sOpenArgs(0) & "'"
End If

'Afficher ou cacher les boutons
ShowButtons "NOTINLIST"

'Si le formulaire Dispositif est ouvert, affichage des
données
ElseIf CurrentProject.AllForms("Dispositif").IsLoaded
Then

enregE = Forms!Dispositif!ExpNum
enregA = Forms!Dispositif!DisAnn

sql = ""
If Not IsNull(enregE) Then
sql = "'" & enregE & "'"
End If

If Not IsNull(enregA) Then
If IsNull(enregE) Then
sql = "'" & enregA & "'"
Else
sql = sql & ",'" & enregA & "'"
End If
End If

If sql <> "" Then
'Afficher un ou deux exploitants
sql = "select * from Exploitant WHERE
Exploitant.ExpNum IN (" & sql & ") AND ExpAct = -1"
Me.RecordSource = sql
End If
ShowButtons "DISPO"
Else
ShowButtons "PARAM"
End If

Exit_Form_Load:
Exit Sub
Err_Form_Load:
Erreur Me.Name, "Form_Load"
Resume Exit_Form_Load
End Sub


Mon souci, c'est que si je suis dans le cas du ElseIf,
tout va bien (mes exploitants sont affichés), mais si je
suis dans le cas du If mon recordset est vide...

N'hésitez pas à me contacter si vous voulez des
précisions sur ce pb... (je sais que ce n'est pas très
clair)

Merci de votre patience et de votre aide

Karim


.



Avatar
Karim
Malheureusement (Oh rage...), ta solution n'est pas la
bonne...

Mais merci quand même :)

Karim
-----Message d'origine-----
Salut Karim,
Il manque un ";" à la fin de ta requête...

Bye
Yann

-----Message d'origine-----
Bonjour,

J'ai un problème qui dépasse les limites de mon petit
intellect, je me permets donc de vous le soumettre...

Mon formulaire modal affiche les données de la table
Exploitant.
Voici le Form_load... (épuré tant que j'ai pu)


Private Sub Form_Load()
On Error GoTo Err_Form_Load

'Déterminer le mode d'ouverture de cette fenêtre
If Not IsNull(Me.OpenArgs) Then

sOpenArgs = Split(Me.OpenArgs, ";")

If DCount("ExpNum", "Exploitant", "ExpNum='" &
sOpenArgs(0) & "'") > 0 Then
'Un exploitant ou annonceur a déjà ce nom
'Je ne veux afficher que lui
Me.RecordSource = "SELECT * from Exploitant
WHERE

Exploitant.ExpNum ='" & sOpenArgs(0) & "'"
End If

'Afficher ou cacher les boutons
ShowButtons "NOTINLIST"

'Si le formulaire Dispositif est ouvert, affichage des
données
ElseIf CurrentProject.AllForms("Dispositif").IsLoaded
Then

enregE = Forms!Dispositif!ExpNum
enregA = Forms!Dispositif!DisAnn

sql = ""
If Not IsNull(enregE) Then
sql = "'" & enregE & "'"
End If

If Not IsNull(enregA) Then
If IsNull(enregE) Then
sql = "'" & enregA & "'"
Else
sql = sql & ",'" & enregA & "'"
End If
End If

If sql <> "" Then
'Afficher un ou deux exploitants
sql = "select * from Exploitant WHERE
Exploitant.ExpNum IN (" & sql & ") AND ExpAct = -1"
Me.RecordSource = sql
End If
ShowButtons "DISPO"
Else
ShowButtons "PARAM"
End If

Exit_Form_Load:
Exit Sub
Err_Form_Load:
Erreur Me.Name, "Form_Load"
Resume Exit_Form_Load
End Sub


Mon souci, c'est que si je suis dans le cas du ElseIf,
tout va bien (mes exploitants sont affichés), mais si
je


suis dans le cas du If mon recordset est vide...

N'hésitez pas à me contacter si vous voulez des
précisions sur ce pb... (je sais que ce n'est pas très
clair)

Merci de votre patience et de votre aide

Karim

.

.





Avatar
Raymond [mvp]
bonsoir.

est-ce qu'on reçoit vraiment une valeur dans OpenArgs ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Karim" a écrit dans le message de
news:0ab501c49a6d$5f019af0$
Oui j'ai fait un pas à pas...

La requête dans le RecordSource est bonne (en faisant un
copier-coller et en l'exécutant, elle me renvoie bien 1
enreg.). Par contre, si je teste
Me.Recordset.RecordCount, il vaut 0.




-----Message d'origine-----
bonjour
mais ExpNum est string ???
si oui, je pense OpenArgs doit l'étre aussi et dans ce
cas on teste plutot <>"" que Null

Tu as fait un pas à pas pour voir la "bouille" des
variables ??


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:0a5401c49a69$4ceb9e50

$
Bonjour,

J'ai un problème qui dépasse les limites de mon petit
intellect, je me permets donc de vous le soumettre...

Mon formulaire modal affiche les données de la table
Exploitant.
Voici le Form_load... (épuré tant que j'ai pu)


Private Sub Form_Load()
On Error GoTo Err_Form_Load

'Déterminer le mode d'ouverture de cette fenêtre
If Not IsNull(Me.OpenArgs) Then

sOpenArgs = Split(Me.OpenArgs, ";")

If DCount("ExpNum", "Exploitant", "ExpNum='" &
sOpenArgs(0) & "'") > 0 Then
'Un exploitant ou annonceur a déjà ce nom
'Je ne veux afficher que lui
Me.RecordSource = "SELECT * from Exploitant WHERE
Exploitant.ExpNum ='" & sOpenArgs(0) & "'"
End If

'Afficher ou cacher les boutons
ShowButtons "NOTINLIST"

'Si le formulaire Dispositif est ouvert, affichage des
données
ElseIf CurrentProject.AllForms("Dispositif").IsLoaded
Then

enregE = Forms!Dispositif!ExpNum
enregA = Forms!Dispositif!DisAnn

sql = ""
If Not IsNull(enregE) Then
sql = "'" & enregE & "'"
End If

If Not IsNull(enregA) Then
If IsNull(enregE) Then
sql = "'" & enregA & "'"
Else
sql = sql & ",'" & enregA & "'"
End If
End If

If sql <> "" Then
'Afficher un ou deux exploitants
sql = "select * from Exploitant WHERE
Exploitant.ExpNum IN (" & sql & ") AND ExpAct = -1"
Me.RecordSource = sql
End If
ShowButtons "DISPO"
Else
ShowButtons "PARAM"
End If

Exit_Form_Load:
Exit Sub
Err_Form_Load:
Erreur Me.Name, "Form_Load"
Resume Exit_Form_Load
End Sub


Mon souci, c'est que si je suis dans le cas du ElseIf,
tout va bien (mes exploitants sont affichés), mais si je
suis dans le cas du If mon recordset est vide...

N'hésitez pas à me contacter si vous voulez des
précisions sur ce pb... (je sais que ce n'est pas très
clair)

Merci de votre patience et de votre aide

Karim


.



Avatar
Pierre CFI [mvp]
çà c'est normal, 0 s'il y a des enr -1 si eof ou bof
pour compter il faut le déplacer
movelast et movefirst

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans le message de news:0ab501c49a6d$5f019af0$
Oui j'ai fait un pas à pas...

La requête dans le RecordSource est bonne (en faisant un
copier-coller et en l'exécutant, elle me renvoie bien 1
enreg.). Par contre, si je teste
Me.Recordset.RecordCount, il vaut 0.




-----Message d'origine-----
bonjour
mais ExpNum est string ???
si oui, je pense OpenArgs doit l'étre aussi et dans ce
cas on teste plutot <>"" que Null

Tu as fait un pas à pas pour voir la "bouille" des
variables ??


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:0a5401c49a69$4ceb9e50

$
Bonjour,

J'ai un problème qui dépasse les limites de mon petit
intellect, je me permets donc de vous le soumettre...

Mon formulaire modal affiche les données de la table
Exploitant.
Voici le Form_load... (épuré tant que j'ai pu)


Private Sub Form_Load()
On Error GoTo Err_Form_Load

'Déterminer le mode d'ouverture de cette fenêtre
If Not IsNull(Me.OpenArgs) Then

sOpenArgs = Split(Me.OpenArgs, ";")

If DCount("ExpNum", "Exploitant", "ExpNum='" &
sOpenArgs(0) & "'") > 0 Then
'Un exploitant ou annonceur a déjà ce nom
'Je ne veux afficher que lui
Me.RecordSource = "SELECT * from Exploitant WHERE
Exploitant.ExpNum ='" & sOpenArgs(0) & "'"
End If

'Afficher ou cacher les boutons
ShowButtons "NOTINLIST"

'Si le formulaire Dispositif est ouvert, affichage des
données
ElseIf CurrentProject.AllForms("Dispositif").IsLoaded
Then

enregE = Forms!Dispositif!ExpNum
enregA = Forms!Dispositif!DisAnn

sql = ""
If Not IsNull(enregE) Then
sql = "'" & enregE & "'"
End If

If Not IsNull(enregA) Then
If IsNull(enregE) Then
sql = "'" & enregA & "'"
Else
sql = sql & ",'" & enregA & "'"
End If
End If

If sql <> "" Then
'Afficher un ou deux exploitants
sql = "select * from Exploitant WHERE
Exploitant.ExpNum IN (" & sql & ") AND ExpAct = -1"
Me.RecordSource = sql
End If
ShowButtons "DISPO"
Else
ShowButtons "PARAM"
End If

Exit_Form_Load:
Exit Sub
Err_Form_Load:
Erreur Me.Name, "Form_Load"
Resume Exit_Form_Load
End Sub


Mon souci, c'est que si je suis dans le cas du ElseIf,
tout va bien (mes exploitants sont affichés), mais si je
suis dans le cas du If mon recordset est vide...

N'hésitez pas à me contacter si vous voulez des
précisions sur ce pb... (je sais que ce n'est pas très
clair)

Merci de votre patience et de votre aide

Karim


.



Avatar
Karim
Bonsoir Raymond,

Oui il y a une valeur dans OpenArgs...

En pas à pas ma requête donne
SELECT * FROM Exploitant WHERE Exploitant.ExpNum='HYPER U'

Et ça normalement ça me renvoie un enregistrement (et non
je ne fais pas de pub pour HYPER U)


-----Message d'origine-----
bonsoir.

est-ce qu'on reçoit vraiment une valeur dans OpenArgs ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Karim" a écrit dans
le message de

news:0ab501c49a6d$5f019af0$
Oui j'ai fait un pas à pas...

La requête dans le RecordSource est bonne (en faisant un
copier-coller et en l'exécutant, elle me renvoie bien 1
enreg.). Par contre, si je teste
Me.Recordset.RecordCount, il vaut 0.




-----Message d'origine-----
bonjour
mais ExpNum est string ???
si oui, je pense OpenArgs doit l'étre aussi et dans ce
cas on teste plutot <>"" que Null

Tu as fait un pas à pas pour voir la "bouille" des
variables ??


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:0a5401c49a69$4ceb9e50

$
Bonjour,

J'ai un problème qui dépasse les limites de mon petit
intellect, je me permets donc de vous le soumettre...

Mon formulaire modal affiche les données de la table
Exploitant.
Voici le Form_load... (épuré tant que j'ai pu)


Private Sub Form_Load()
On Error GoTo Err_Form_Load

'Déterminer le mode d'ouverture de cette fenêtre
If Not IsNull(Me.OpenArgs) Then

sOpenArgs = Split(Me.OpenArgs, ";")

If DCount("ExpNum", "Exploitant", "ExpNum='" &
sOpenArgs(0) & "'") > 0 Then
'Un exploitant ou annonceur a déjà ce nom
'Je ne veux afficher que lui
Me.RecordSource = "SELECT * from Exploitant
WHERE


Exploitant.ExpNum ='" & sOpenArgs(0) & "'"
End If

'Afficher ou cacher les boutons
ShowButtons "NOTINLIST"

'Si le formulaire Dispositif est ouvert, affichage des
données
ElseIf CurrentProject.AllForms("Dispositif").IsLoaded
Then

enregE = Forms!Dispositif!ExpNum
enregA = Forms!Dispositif!DisAnn

sql = ""
If Not IsNull(enregE) Then
sql = "'" & enregE & "'"
End If

If Not IsNull(enregA) Then
If IsNull(enregE) Then
sql = "'" & enregA & "'"
Else
sql = sql & ",'" & enregA & "'"
End If
End If

If sql <> "" Then
'Afficher un ou deux exploitants
sql = "select * from Exploitant WHERE
Exploitant.ExpNum IN (" & sql & ") AND ExpAct = -1"
Me.RecordSource = sql
End If
ShowButtons "DISPO"
Else
ShowButtons "PARAM"
End If

Exit_Form_Load:
Exit Sub
Err_Form_Load:
Erreur Me.Name, "Form_Load"
Resume Exit_Form_Load
End Sub


Mon souci, c'est que si je suis dans le cas du ElseIf,
tout va bien (mes exploitants sont affichés), mais si je
suis dans le cas du If mon recordset est vide...

N'hésitez pas à me contacter si vous voulez des
précisions sur ce pb... (je sais que ce n'est pas très
clair)

Merci de votre patience et de votre aide

Karim


.




.




Avatar
Karim
Si je fais Me.Recordset.Movefirst pendant le pas à pas,
j'ai une erreur d'exécution:
3021 - Aucun enregistrement en cours...

Qu'est ce que ça veut dire?


-----Message d'origine-----
çà c'est normal, 0 s'il y a des enr -1 si eof ou bof
pour compter il faut le déplacer
movelast et movefirst

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:0ab501c49a6d$5f019af0

$
Oui j'ai fait un pas à pas...

La requête dans le RecordSource est bonne (en faisant un
copier-coller et en l'exécutant, elle me renvoie bien 1
enreg.). Par contre, si je teste
Me.Recordset.RecordCount, il vaut 0.




-----Message d'origine-----
bonjour
mais ExpNum est string ???
si oui, je pense OpenArgs doit l'étre aussi et dans ce
cas on teste plutot <>"" que Null

Tu as fait un pas à pas pour voir la "bouille" des
variables ??


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:0a5401c49a69$4ceb9e50

$
Bonjour,

J'ai un problème qui dépasse les limites de mon petit
intellect, je me permets donc de vous le soumettre...

Mon formulaire modal affiche les données de la table
Exploitant.
Voici le Form_load... (épuré tant que j'ai pu)


Private Sub Form_Load()
On Error GoTo Err_Form_Load

'Déterminer le mode d'ouverture de cette fenêtre
If Not IsNull(Me.OpenArgs) Then

sOpenArgs = Split(Me.OpenArgs, ";")

If DCount("ExpNum", "Exploitant", "ExpNum='" &
sOpenArgs(0) & "'") > 0 Then
'Un exploitant ou annonceur a déjà ce nom
'Je ne veux afficher que lui
Me.RecordSource = "SELECT * from Exploitant
WHERE


Exploitant.ExpNum ='" & sOpenArgs(0) & "'"
End If

'Afficher ou cacher les boutons
ShowButtons "NOTINLIST"

'Si le formulaire Dispositif est ouvert, affichage des
données
ElseIf CurrentProject.AllForms("Dispositif").IsLoaded
Then

enregE = Forms!Dispositif!ExpNum
enregA = Forms!Dispositif!DisAnn

sql = ""
If Not IsNull(enregE) Then
sql = "'" & enregE & "'"
End If

If Not IsNull(enregA) Then
If IsNull(enregE) Then
sql = "'" & enregA & "'"
Else
sql = sql & ",'" & enregA & "'"
End If
End If

If sql <> "" Then
'Afficher un ou deux exploitants
sql = "select * from Exploitant WHERE
Exploitant.ExpNum IN (" & sql & ") AND ExpAct = -1"
Me.RecordSource = sql
End If
ShowButtons "DISPO"
Else
ShowButtons "PARAM"
End If

Exit_Form_Load:
Exit Sub
Err_Form_Load:
Erreur Me.Name, "Form_Load"
Resume Exit_Form_Load
End Sub


Mon souci, c'est que si je suis dans le cas du ElseIf,
tout va bien (mes exploitants sont affichés), mais si je
suis dans le cas du If mon recordset est vide...

N'hésitez pas à me contacter si vous voulez des
précisions sur ce pb... (je sais que ce n'est pas très
clair)

Merci de votre patience et de votre aide

Karim


.




.




Avatar
Pierre CFI [mvp]
donc ton argument est string, donc peut pas étre null mais ""

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans le message de news:21da01c49a6e$f3d35550$
Bonsoir Raymond,

Oui il y a une valeur dans OpenArgs...

En pas à pas ma requête donne
SELECT * FROM Exploitant WHERE Exploitant.ExpNum='HYPER U'

Et ça normalement ça me renvoie un enregistrement (et non
je ne fais pas de pub pour HYPER U)


-----Message d'origine-----
bonsoir.

est-ce qu'on reçoit vraiment une valeur dans OpenArgs ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Karim" a écrit dans
le message de

news:0ab501c49a6d$5f019af0$
Oui j'ai fait un pas à pas...

La requête dans le RecordSource est bonne (en faisant un
copier-coller et en l'exécutant, elle me renvoie bien 1
enreg.). Par contre, si je teste
Me.Recordset.RecordCount, il vaut 0.




-----Message d'origine-----
bonjour
mais ExpNum est string ???
si oui, je pense OpenArgs doit l'étre aussi et dans ce
cas on teste plutot <>"" que Null

Tu as fait un pas à pas pour voir la "bouille" des
variables ??


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Karim" a écrit dans
le message de news:0a5401c49a69$4ceb9e50

$
Bonjour,

J'ai un problème qui dépasse les limites de mon petit
intellect, je me permets donc de vous le soumettre...

Mon formulaire modal affiche les données de la table
Exploitant.
Voici le Form_load... (épuré tant que j'ai pu)


Private Sub Form_Load()
On Error GoTo Err_Form_Load

'Déterminer le mode d'ouverture de cette fenêtre
If Not IsNull(Me.OpenArgs) Then

sOpenArgs = Split(Me.OpenArgs, ";")

If DCount("ExpNum", "Exploitant", "ExpNum='" &
sOpenArgs(0) & "'") > 0 Then
'Un exploitant ou annonceur a déjà ce nom
'Je ne veux afficher que lui
Me.RecordSource = "SELECT * from Exploitant
WHERE


Exploitant.ExpNum ='" & sOpenArgs(0) & "'"
End If

'Afficher ou cacher les boutons
ShowButtons "NOTINLIST"

'Si le formulaire Dispositif est ouvert, affichage des
données
ElseIf CurrentProject.AllForms("Dispositif").IsLoaded
Then

enregE = Forms!Dispositif!ExpNum
enregA = Forms!Dispositif!DisAnn

sql = ""
If Not IsNull(enregE) Then
sql = "'" & enregE & "'"
End If

If Not IsNull(enregA) Then
If IsNull(enregE) Then
sql = "'" & enregA & "'"
Else
sql = sql & ",'" & enregA & "'"
End If
End If

If sql <> "" Then
'Afficher un ou deux exploitants
sql = "select * from Exploitant WHERE
Exploitant.ExpNum IN (" & sql & ") AND ExpAct = -1"
Me.RecordSource = sql
End If
ShowButtons "DISPO"
Else
ShowButtons "PARAM"
End If

Exit_Form_Load:
Exit Sub
Err_Form_Load:
Erreur Me.Name, "Form_Load"
Resume Exit_Form_Load
End Sub


Mon souci, c'est que si je suis dans le cas du ElseIf,
tout va bien (mes exploitants sont affichés), mais si je
suis dans le cas du If mon recordset est vide...

N'hésitez pas à me contacter si vous voulez des
précisions sur ce pb... (je sais que ce n'est pas très
clair)

Merci de votre patience et de votre aide

Karim


.




.




1 2 3