Pb sur Access de recherche d'info

baleryn Messages postés 7 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 20 août 2004 - 19 août 2004 à 12:01
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 - 19 août 2004 à 17:22
J'ai un problème avec un code vba sur access, j'aimerai que dans un formulaire, un sous formulaire ne s'affiche que si une information est présente dans l'une de mes tables pour le dossier en affichage actuellement.

dans ma base tout dépend du numéro de dossier et donc j'aimerai que le code recherche pour le numéro de dossier en cours l'existence d'une information sur ce dossier dans une table.

Mon problème se situe surtout sur la recherche de l'info, je ne sais pas comment faire pour aller chercher l'info dans une table. J'avais réussi à le faire dans le même formulaire avec la méthode suivante :

If Libellé.Value = "Pièce de théatre" Then
Pièce.Visible = True
légende_Pièce.Visible = True
Else: Pièce.Visible = False
légende_Pièce.Visible = False
End If

Merci de bien vouloir m'aider.
Baleryn

3 réponses

radhouene Messages postés 13 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 19 août 2004
19 août 2004 à 14:21
il faut faire une recherche selon le numéro du dossier si g bein compris.

il faut donc faire une connexion dynamique à la base du genre:
Dim con As ADODB.Connection
Dim com As ADODB.Command
Dim rs As ADODB.Recordset
Dim sql As String
sql "select num_dossier from table where num_dossier'" & text1.Text & "'" (si le numéro de dossier se trouve dans un textbox par exemple)
Set con = New ADODB.Connection
Set com = New ADODB.Command
Set rs = New ADODB.Recordset

con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\mes documents\nomdelabase.mdb;Persist Security Info=False"
con.CursorLocation = adUseClient
con.Open

com.ActiveConnection = con
com.CommandType = adCmdText
com.CommandText = sql

rs.ActiveConnection = con
rs.CursorLocation = adUseClient
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
rs.Open sql, con, adOpenDynamic, adLockOptimistic, adCmdText

rs.MoveFirst

pour l'affectation des valeurs tu fais par exemple:
text2.text=rs.fields(0) et ainsi de suite

bonne programmation
0
baleryn Messages postés 7 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 20 août 2004
19 août 2004 à 15:45
Ce que tu m'as gentiment posté n'est pas tout à fait ce que je recherchais et en me relisant c'est probablement ma faute.

En fait ce qu'il faut c'est que le programme vérifie qu'il existe une information dans la table sur les lignes correspondant au numéro de dossier déjà sur le formulaire.

En gros je cherche un programme qui m'affiche un sous formulaire "sousformpiece" si dans le dossier "x123456" on retrouve "pièce de théatre" dans le champ "production".

En tout cas merci de ta réponse qui est déjà une bonne base de travail.

Baleryn
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
19 août 2004 à 17:22
si tu es en Acces, donc tu programme en VBA, il y a pas mal plus simple

dim rst as reccordset

set rst = currentdb.openreccordset("select * from table where condition")

if rst.eof then

else

end if
0
Rejoignez-nous