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

Critère access + Visual Basic

7 réponses
Avatar
Frank
Bonjour a tous,

J'ai un application vb qui ce connect a access et j'aimerai bien savoir si
c'est possible de modifier une requete existante ?

exemple : normalement dans le critere de ma requête je marque =date ou
quelque chose dans le genre et dans mon etat et bien je voi seulement ce qui
est = a la date d'aujourd'hui mais comment faire en visual basic pour
changer cette donner ?

Merci de votre aide

7 réponses

Avatar
Driss HANIB
si ta requête est écrite dans ton programme VB tu peux facilement, comme
c'est une chaine de caractères, remplacer ladate par cette que tu veux en
concaténant les différents morceaux de chainechaine
du style

Req = "SELECT CASE........and ChampDate = #" & "Madate" & "....."
attention il faut ici , je crois le format américain de la date mm/dd/yyyy

si tu as une requête compilée dans ta base access, il faut qu'elle ait un
paramètre..
tu fais alors
Set SQL = Base.Querydefs(NomdeLaRequete)
SQL(0)ÚteChoisie ' remplissage du paramètres
Set RS = SQL.OpenRecorset(dbopensnapshot)

"Frank" a écrit dans le message de
news:%
Bonjour a tous,

J'ai un application vb qui ce connect a access et j'aimerai bien savoir si
c'est possible de modifier une requete existante ?

exemple : normalement dans le critere de ma requête je marque Úte ou
quelque chose dans le genre et dans mon etat et bien je voi seulement ce


qui
est = a la date d'aujourd'hui mais comment faire en visual basic pour
changer cette donner ?

Merci de votre aide




Avatar
Frank
Bonjour,
J'ai essayer de faire comme ta dit me je ne comprend pas je suis perdu ...
:( et sa fonctionne pas !

voici ce que jai essayer :

Dim QryModele As dao.QueryDef
Set Db1 = CurrentDb
Set SQL = db1.Querydefs("Requete_Entrepreneur_soumission")
SQL(0)= "Úte" ' remplissage du paramètres
Set RS = SQL.OpenRecorset(dbopensnapshot)

Dans le fond je veux que visual basic ouvre ma base de donnée(sa ya pas de
probleme la dessus)... ouvre ma requete "Requete_Entrepreneur_soumission".
dans ma requete j'ai un champ nommer Date et je veut que le critere de ce
champs soit ="date".

Merci de votre attention



"Driss HANIB" a écrit dans le message de news:
uqdNF$
si ta requête est écrite dans ton programme VB tu peux facilement, comme
c'est une chaine de caractères, remplacer ladate par cette que tu veux en
concaténant les différents morceaux de chainechaine
du style

Req = "SELECT CASE........and ChampDate = #" & "Madate" & "....."
attention il faut ici , je crois le format américain de la date mm/dd/yyyy

si tu as une requête compilée dans ta base access, il faut qu'elle ait un
paramètre..
tu fais alors
Set SQL = Base.Querydefs(NomdeLaRequete)
SQL(0)ÚteChoisie ' remplissage du paramètres
Set RS = SQL.OpenRecorset(dbopensnapshot)

"Frank" a écrit dans le message de
news:%
Bonjour a tous,

J'ai un application vb qui ce connect a access et j'aimerai bien savoir
si
c'est possible de modifier une requete existante ?

exemple : normalement dans le critere de ma requête je marque Úte ou
quelque chose dans le genre et dans mon etat et bien je voi seulement ce


qui
est = a la date d'aujourd'hui mais comment faire en visual basic pour
changer cette donner ?

Merci de votre aide








Avatar
Driss HANIB
cela ne marche pas tout à fait comme cela

en fait il faut d'abord que ta requete "Requete_Entrepreneur_soumission"
soit paramétrée.
1. dans ta base Access sélectionne le bouton modifier
2. dans la colonne correspondant à ton champ date et à l'intersection avec
la ligne 'Critère' tu écrits quelque chose du style [date choisie] avec
les crochets !!
et tu sauvegardes.
Si tu lances ta requete tu verras qu'elle te demandera "date choisie" (ton
message entre crochets).

dans ton programme Vb tu mets

Dim QryModele As dao.QueryDef
Set Db1 = CurrentDb
Set SQL = db1.Querydefs("Requete_Entrepreneur_soumission")
' là tu mets
SQL(0)= Madate ' la variable MaDate doit contenir ta valeur '
remplissage du paramètres
Set RS = SQL.OpenRecorset(dbopensnapshot)


et là cela devrait marcher..

Driss

"Frank" a écrit dans le message de
news:eq%
Bonjour,
J'ai essayer de faire comme ta dit me je ne comprend pas je suis perdu ...
:( et sa fonctionne pas !

voici ce que jai essayer :

Dim QryModele As dao.QueryDef
Set Db1 = CurrentDb
Set SQL = db1.Querydefs("Requete_Entrepreneur_soumission")
SQL(0)= "Úte" ' remplissage du paramètres
Set RS = SQL.OpenRecorset(dbopensnapshot)

Dans le fond je veux que visual basic ouvre ma base de donnée(sa ya pas de
probleme la dessus)... ouvre ma requete "Requete_Entrepreneur_soumission".
dans ma requete j'ai un champ nommer Date et je veut que le critere de ce
champs soit ="date".

Merci de votre attention



"Driss HANIB" a écrit dans le message de news:
uqdNF$
> si ta requête est écrite dans ton programme VB tu peux facilement, comme
> c'est une chaine de caractères, remplacer ladate par cette que tu veux


en
> concaténant les différents morceaux de chainechaine
> du style
>
> Req = "SELECT CASE........and ChampDate = #" & "Madate" & "....."
> attention il faut ici , je crois le format américain de la date


mm/dd/yyyy
>
> si tu as une requête compilée dans ta base access, il faut qu'elle ait


un
> paramètre..
> tu fais alors
> Set SQL = Base.Querydefs(NomdeLaRequete)
> SQL(0)ÚteChoisie ' remplissage du paramètres
> Set RS = SQL.OpenRecorset(dbopensnapshot)
>
> "Frank" a écrit dans le message de
> news:%
>> Bonjour a tous,
>>
>> J'ai un application vb qui ce connect a access et j'aimerai bien savoir
>> si
>> c'est possible de modifier une requete existante ?
>>
>> exemple : normalement dans le critere de ma requête je marque Úte ou
>> quelque chose dans le genre et dans mon etat et bien je voi seulement


ce
> qui
>> est = a la date d'aujourd'hui mais comment faire en visual basic pour
>> changer cette donner ?
>>
>> Merci de votre aide
>>
>>
>
>




Avatar
Frank
Bonjour a toi driss,

Bon je commence a mieux comprendre :)
mais il me fait un erreur la
Set RS = SQL.OpenRecorset(dbopensnapshot)

il me dit "Objet doesn't support this property or method"

tu as une iddée pk ??

Merci de ton precieuse aide
"Driss HANIB" a écrit dans le message de news:

cela ne marche pas tout à fait comme cela

en fait il faut d'abord que ta requete "Requete_Entrepreneur_soumission"
soit paramétrée.
1. dans ta base Access sélectionne le bouton modifier
2. dans la colonne correspondant à ton champ date et à l'intersection avec
la ligne 'Critère' tu écrits quelque chose du style [date choisie] avec
les crochets !!
et tu sauvegardes.
Si tu lances ta requete tu verras qu'elle te demandera "date choisie"
(ton
message entre crochets).

dans ton programme Vb tu mets

Dim QryModele As dao.QueryDef
Set Db1 = CurrentDb
Set SQL = db1.Querydefs("Requete_Entrepreneur_soumission")
' là tu mets
SQL(0)= Madate ' la variable MaDate doit contenir ta valeur '
remplissage du paramètres
Set RS = SQL.OpenRecorset(dbopensnapshot)


et là cela devrait marcher..

Driss

"Frank" a écrit dans le message de
news:eq%
Bonjour,
J'ai essayer de faire comme ta dit me je ne comprend pas je suis perdu
...
:( et sa fonctionne pas !

voici ce que jai essayer :

Dim QryModele As dao.QueryDef
Set Db1 = CurrentDb
Set SQL = db1.Querydefs("Requete_Entrepreneur_soumission")
SQL(0)= "Úte" ' remplissage du paramètres
Set RS = SQL.OpenRecorset(dbopensnapshot)

Dans le fond je veux que visual basic ouvre ma base de donnée(sa ya pas
de
probleme la dessus)... ouvre ma requete
"Requete_Entrepreneur_soumission".
dans ma requete j'ai un champ nommer Date et je veut que le critere de ce
champs soit ="date".

Merci de votre attention



"Driss HANIB" a écrit dans le message de news:
uqdNF$
> si ta requête est écrite dans ton programme VB tu peux facilement,
> comme
> c'est une chaine de caractères, remplacer ladate par cette que tu veux


en
> concaténant les différents morceaux de chainechaine
> du style
>
> Req = "SELECT CASE........and ChampDate = #" & "Madate" & "....."
> attention il faut ici , je crois le format américain de la date


mm/dd/yyyy
>
> si tu as une requête compilée dans ta base access, il faut qu'elle ait


un
> paramètre..
> tu fais alors
> Set SQL = Base.Querydefs(NomdeLaRequete)
> SQL(0)ÚteChoisie ' remplissage du paramètres
> Set RS = SQL.OpenRecorset(dbopensnapshot)
>
> "Frank" a écrit dans le message de
> news:%
>> Bonjour a tous,
>>
>> J'ai un application vb qui ce connect a access et j'aimerai bien
>> savoir
>> si
>> c'est possible de modifier une requete existante ?
>>
>> exemple : normalement dans le critere de ma requête je marque Úte ou
>> quelque chose dans le genre et dans mon etat et bien je voi seulement


ce
> qui
>> est = a la date d'aujourd'hui mais comment faire en visual basic pour
>> changer cette donner ?
>>
>> Merci de votre aide
>>
>>
>
>








Avatar
Driss HANIB
as tu bien défini :
Dim SQL As QueryDef
Dim Rs As Recordset

et donc après

Set Rs = SQL.OpenRecordset(dbOpenSnapshot)


"Frank" a écrit dans le message de
news:
Bonjour a toi driss,

Bon je commence a mieux comprendre :)
mais il me fait un erreur la
Set RS = SQL.OpenRecorset(dbopensnapshot)

il me dit "Objet doesn't support this property or method"

tu as une iddée pk ??

Merci de ton precieuse aide
"Driss HANIB" a écrit dans le message de news:

> cela ne marche pas tout à fait comme cela
>
> en fait il faut d'abord que ta requete


"Requete_Entrepreneur_soumission"
> soit paramétrée.
> 1. dans ta base Access sélectionne le bouton modifier
> 2. dans la colonne correspondant à ton champ date et à l'intersection


avec
> la ligne 'Critère' tu écrits quelque chose du style [date choisie]


avec
> les crochets !!
> et tu sauvegardes.
> Si tu lances ta requete tu verras qu'elle te demandera "date choisie"
> (ton
> message entre crochets).
>
> dans ton programme Vb tu mets
>
> Dim QryModele As dao.QueryDef
> Set Db1 = CurrentDb
> Set SQL = db1.Querydefs("Requete_Entrepreneur_soumission")
> ' là tu mets
> SQL(0)= Madate ' la variable MaDate doit contenir ta valeur '
> remplissage du paramètres
> Set RS = SQL.OpenRecorset(dbopensnapshot)
>
>
> et là cela devrait marcher..
>
> Driss
>
> "Frank" a écrit dans le message de
> news:eq%
>> Bonjour,
>> J'ai essayer de faire comme ta dit me je ne comprend pas je suis perdu
>> ...
>> :( et sa fonctionne pas !
>>
>> voici ce que jai essayer :
>>
>> Dim QryModele As dao.QueryDef
>> Set Db1 = CurrentDb
>> Set SQL = db1.Querydefs("Requete_Entrepreneur_soumission")
>> SQL(0)= "Úte" ' remplissage du paramètres
>> Set RS = SQL.OpenRecorset(dbopensnapshot)
>>
>> Dans le fond je veux que visual basic ouvre ma base de donnée(sa ya pas
>> de
>> probleme la dessus)... ouvre ma requete
>> "Requete_Entrepreneur_soumission".
>> dans ma requete j'ai un champ nommer Date et je veut que le critere de


ce
>> champs soit ="date".
>>
>> Merci de votre attention
>>
>>
>>
>> "Driss HANIB" a écrit dans le message de


news:
>> uqdNF$
>> > si ta requête est écrite dans ton programme VB tu peux facilement,
>> > comme
>> > c'est une chaine de caractères, remplacer ladate par cette que tu


veux
> en
>> > concaténant les différents morceaux de chainechaine
>> > du style
>> >
>> > Req = "SELECT CASE........and ChampDate = #" & "Madate" & "....."
>> > attention il faut ici , je crois le format américain de la date
> mm/dd/yyyy
>> >
>> > si tu as une requête compilée dans ta base access, il faut qu'elle


ait
> un
>> > paramètre..
>> > tu fais alors
>> > Set SQL = Base.Querydefs(NomdeLaRequete)
>> > SQL(0)ÚteChoisie ' remplissage du paramètres
>> > Set RS = SQL.OpenRecorset(dbopensnapshot)
>> >
>> > "Frank" a écrit dans le message de
>> > news:%
>> >> Bonjour a tous,
>> >>
>> >> J'ai un application vb qui ce connect a access et j'aimerai bien
>> >> savoir
>> >> si
>> >> c'est possible de modifier une requete existante ?
>> >>
>> >> exemple : normalement dans le critere de ma requête je marque Úte


ou
>> >> quelque chose dans le genre et dans mon etat et bien je voi


seulement
> ce
>> > qui
>> >> est = a la date d'aujourd'hui mais comment faire en visual basic


pour
>> >> changer cette donner ?
>> >>
>> >> Merci de votre aide
>> >>
>> >>
>> >
>> >
>>
>>
>
>




Avatar
Gloops
Bonjour,

Si je me rappelle bien, les propriétés reconnues pour OpenRecordset
dépendent des références choisies (menu projet).
_____________________
Driss HANIB a écrit :
as tu bien défini :
Dim SQL As QueryDef
Dim Rs As Recordset <--------

et donc après

Set Rs = SQL.OpenRecordset(dbOpenSnapshot)




Avatar
Frank
Bonjour Driss et Gloops,

Effectivement j'avais oublier de definir mon dim SQL as QueryDef.
et il me fait plus d'erreur

mais il reste que quand je rouvre mon etat et bien il faut que je rentre a
la main la valeur du paramètre.... Numero Choisi.


Dim MaDbMat As String
Dim SQL As QueryDef
Dim MesEtats As Access.Application
Dim QryModele As dao.QueryDef

If MsgBox("voulez-vous imprimer le formulaire de soumission que vous venez
de creer ?", vbYesNo) = vbNo Then GoTo exitt
MaDbMat = App.Path & "2006.mdb"
Set MesEtats = New Access.Application
MesEtats.OpenCurrentDatabase MaDbMat, False
numero_choisi = txtnumero_Projet.Text
Set SQL = db1.QueryDefs("Requete_Entrepreneur_Soumission")
' là tu mets
SQL(0) = numero_choisi
'remplissage du paramètres
Set rs = SQL.OpenRecordset(dbOpenSnapshot)
MesEtats.Visible = True
MesEtats.DoCmd.OpenReport "Etats_Entrepreneur_Soumission_Murs_Bois",
acViewPreview
MesEtats.DoCmd.Maximize

Merci de votre aide

"Gloops" a écrit dans le message de news:

Bonjour,

Si je me rappelle bien, les propriétés reconnues pour OpenRecordset
dépendent des références choisies (menu projet).
_____________________
Driss HANIB a écrit :
as tu bien défini :
Dim SQL As QueryDef
Dim Rs As Recordset <--------

et donc après

Set Rs = SQL.OpenRecordset(dbOpenSnapshot)