Problème textbox et etat access

alio25 Messages postés 14 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 30 avril 2007 - 23 mars 2007 à 17:45
alio25 Messages postés 14 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 30 avril 2007 - 26 mars 2007 à 08:57
Salut à tous,
je travaille actuellement sur un projet sous access.

voici mon problème:
D'une fonction sous vb, j'aimerais à l'ouverture d'un etat actualiser une textbox.
 Ma fonction  fais le tri sur les dates contenus dans une des colonnes de mon etat(requete associée), et elle devrait affecter  à la textbox les deux dates extremes.
Voici mon code (ce qu'il ya de plus banal...):
Private Sub Report_Open(Cancel As Integer)

   Dim db As Database
    Dim Rs As DAO.Recordset
' Ouverture de la base de données
    Set db = CurrentDb
    'chargement des dates à trier
    sql = "SELECT [FicheCalcul Requête].[DateAppel] FROM [FicheCalcul Requête];"
    Set Rs = db.OpenRecordset(sql)
   
    Dim DateDeb As Date
    Dim DateFin As Date
    Rs.MoveFirst
    DateDeb = CDate(Rs("DateAppel"))
    DateFin = CDate(Rs("DateAppel"))
   
    Do While Not Rs.EOF
        If CDate(Rs("DateAppel")) < DateDeb Then
        DateDeb = CDate(Rs("DateAppel"))
        Else
        Rs.MoveNext
        End If
    Loop
    Rs.MoveFirst
   
    Do While Not Rs.EOF
        If CDate(Rs("DateAppel")) > DateFin Then
        DateFin = CDate(Rs("DateAppel"))
        Else
        Rs.MoveNext
        End If
    Loop
   
    Texte19.Text = "du " & Format(DateDeb, "mm/dd/yyyy") & " au " & Format(DateFin, "mm/dd/yyyy")
 End Sub

Mais une erreur qui revient : Control pas activé
j'suis desespéré....

5 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
23 mars 2007 à 17:52
Sous quoi développes-tu ?
Il semble que ce ne soit pas sous VB.Net, section dans laquelle tu as "posté" ta question..... qui y aurait eu sa place si, développant sous VB.Net, tu pilotais Access...


 


Ton problème semble simplement être celui du choix de l'événement (au load, par exemple, rien ne t'assure de ce que la textbox Texte19 est déjà chargée...)
0
FaroukVazaha Messages postés 42 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 11 septembre 2010
23 mars 2007 à 20:08
Salut,
Petite astuce pour te simplifier ton pgm en supprimant tes boucles : positionne ta colonne de date dans la base de données comme étant un index et classé croissant.
Après récupération dans Rs la un movefirst donne la 1ère date et un move last donne la dernière.
Pour connaitre le control qui génére l'erreur as-tu essayé le debug ?

A+
0
farouk_ch Messages postés 12 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 20 février 2009
24 mars 2007 à 11:17
Salut alio25,C’est évident ce message d'erreur car, lors de l'ouverture d'un état, le contrôle TextBox n’est pas encore activé.<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>





Donc il vaut mieux de placer ta fonction dans un module et la définir comme source des données de Texte19 :






 







1)    

Créez un nouvel module et lui ajoutez la fonction suivante :






 



Public Function GetDates() As String





Dim db As Database






    Dim Rs As DAO.Recordset





' Ouverture de la base de données






    Set db = CurrentDb






    Dim DateDeb As Date






    Dim DateFin As Date






    'chargement de date de départ






    SQL = "SELECT Min([FicheCalcul Requête].[DateAppel]) FROM [FicheCalcul Requête];"






    Set Rs = db.OpenRecordset(SQL)






    DateDeb = CDate(Rs("DateAppel"))






      








   'chargement de date de Fin






    SQL = "SELECT Max([FicheCalcul Requête].[DateAppel]) FROM [FicheCalcul Requête];"






    Set Rs = db.OpenRecordset(SQL)






    DateFin = CDate(Rs("DateAppel"))






  








    GetDates = "du " & Format(DateDeb, "mm/dd/yyyy") & " au " & Format(DateFin, "mm/dd/yyyy")





End Function






 







2)    

Ouvrez l’état en mode création et allez au propriétés de Texte19






3)    

Sélectionnez l’onglet données






4)    

Dans le champs source contrôle tapez    =GetDates()
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 mars 2007 à 18:05
alio25
-> merci d'éviter les doublons....

voici les réponses qui t'ont été données (sur topic supprimé)

<hr size= "2" width="100%" />( jmfmarques )
[infomsg_PROBLEME-TEXTBOX-ETAT-ACCESS_908932.aspx#1 http://www.vbfrance.com/infomsg_PROBLEME-TEXTBOX-ETAT-ACCESS_908932.aspx#1]
<hr size ="2" width= "100%" />
<hr size="2" width="100%" />( mortalino )
Salut,

essaie peut-être de modifier tes CDate(Rs("DateAppel")) en CDate(Rs!DateAppel)

@++
<hr size ="2" width="100%" />
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alio25 Messages postés 14 Date d'inscription jeudi 15 mars 2007 Statut Membre Dernière intervention 30 avril 2007
26 mars 2007 à 08:57
Salut à tous et merci pour votre aide...
désolé pour mon absence j'étais en wk et pas de connexion...

Effectivement, comme l'a signalé  1013099 farouk_ch, l'activation de controle de la textbox.  =1013099 farouk_ch merci encore, j'essaie ta solution; je pense que ça devrais aller(pour l'instant j'ai une erreur avec les fonction min et max: je dois trouvé la bonne utilisation pour vba (car en fait je suis sous access).

je vous tiens au courant
0
Rejoignez-nous