begin process at 2008 08 22 04:33:47
1 229 775 membres
46 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : un problème, avec DAO et des frames [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (Shany)

un problème, avec DAO et des frames le 27/05/2005 23:26:44

Shany
Re salut tout le monde,

J'ai un petit problème et mon msg s'adress à un dénommé duke.

La dernière fois tu m'avs aidé à régler un problème :

à l'aide d'un combobox, je voulais avoir des infos dans un textbox.

la methode que tu m'a donné fonctionne parfaitement cependant quand je place le combobox, le textbox dans une frame ,

dans le textbox, je n'obtiens que le premier enregistrement malgré que dans le combobox, j'ai le numéro de tous mes enregistrements.

Peux tu m'expliker pkoi g ce problème et cmt y remédié, STP !?

Merci d'avance

Ps : voici le code :

Option Explicit
Dim Bd As Database 'Defini la base de données
Dim Table1 As Recordset 'Defini une table
Dim Requette As String 'Variable qui contiendra une requette
Dim Trequette As Recordset 'Table qui sera le resultat d'une requete

Private Sub Form_Load()

    'Initialisation de la base de données
    Set Bd = OpenDatabase(App.Path & "\dbAP3.mdb")

    'declaration de la table repertoire
    Set Table1 = Bd.OpenRecordset("eleve", dbOpenDynaset)

    'on remplis la combo
    If Table1.EOF = True Then 'EOF = End Of File (fin de la table)
        MsgBox "La table repertoire est vide !"
    Else
        Do While Table1.EOF = False 'Tant qu'on est pas arrivé à la fin de la table...'
            Combo1.AddItem Table1("num_eleve") 'On implemente le combo du champ nom
            Table1.MoveNext 'Puis on passe à l'enregistrement suivant
       Loop
    End If
End Sub

Private Sub Combo1_Click()
  
    'SQl : on selectionne le champ tel de la table repertoire dont le nom est le text de la combo1
    Requette = "SELECT * FROM eleve WHERE num_eleve='" & Combo1.Text & "';"
    Set Trequette = Bd.OpenRecordset(Requette, dbOpenDynaset)

    if NOT(Trequette.EOF) then
        text1.text =  Trequette("nom")
        text2.text =  Trequette("prenom")
        text3.text =  Trequette("age")
        text4.text =  Trequette("tel")

    end if

End Sub

Re : un problème, avec DAO et des frames le 28/05/2005 02:11:17

jpleroisse
Bonsoir,
Ce que je peux te dire en attendant que tu aies une réponse de duke, c'est que j'ai essayé ton code hors et dans un contrôle Frame et qu'il fonctionne très bien. Pourquoi tu as ce problème, ça je ne peux y répondre puisque je te confirme que chez moi ça va.

jpleroisse


Re : un problème, avec DAO et des frames le 28/05/2005 05:39:52

Shany
OK je te remercie. En fait le problème c'est ke ca passe, mais ke ca ne me donne ke le premier enregistrement, même kan je choisi un otre num dans le combobox.

Comme tu dis si je le met en dehors du frame il fonctionne, mais à l'interrieur niet !!

Re : un problème, avec DAO et des frames le 28/05/2005 06:00:09

Shany

ah la la, maintenant, ca ne veut plus rien afficher on me dit :

type de donné incompatible ds l'expression du critère

erreur ki provient de la partie pkoi g pa encore trouvé   :

   Requette = "SELECT tata,tutu FROM test WHERE toto='" & Combo1.Text & "';"
   Set Trequette = Bd.OpenRecordset(Requette, dbOpenDynaset)

pour plus d'infos g une bd appl bd1 ki contient plusieurs table dt une ke g appl test.

la table test (toto (numauto), tata (text), tutu (text))

le code de façon générale donne :
Option Explicit
Dim Bd As Database
Dim Table1 As Recordset
Dim Requette As String
Dim Trequette As Recordset

Private Sub Form_Load()

    'Initialisation de la base de données
    Set Bd = OpenDatabase(App.Path & "\bd1.mdb")

    'declaration de la table repertoire
    Set Table1 = Bd.OpenRecordset("test", dbOpenDynaset)

    'on remplis la combo
    If Table1.EOF = True Then 'EOF = End Of File (fin de la table)
        MsgBox "La table repertoire est vide !"
    Else
        Do While Table1.EOF = False 
            Combo1.AddItem Table1("toto") 
            Table1.MoveNext 
       Loop
    End If
End Sub

Private Sub Combo1_Click()
   
    Requette = "SELECT tata,tutu FROM test WHERE toto='" & Combo1.Text & "';"
    Set Trequette = Bd.OpenRecordset(Requette, dbOpenDynaset)

    If Not (Trequette.EOF) Then
        Text1.Text = Trequette("tata")
        Text2.Text = Trequette("tutu")

    End If

End Sub


Re : un problème, avec DAO et des frames le 28/05/2005 11:04:46

jpleroisse
Bonjour,

Private Sub Combo1_Click()
   
    Requette = "SELECT * FROM test WHERE toto='" & Combo1.Text & "';"
    Set Trequette = Bd.OpenRecordset(Requette, dbOpenDynaset)

    If Not (Trequette.EOF) Then
        Text1.Text = Trequette("tata")
        Text2.Text = Trequette("tutu")

    End If

jpleroisse




Re : un problème, avec DAO et des frames le 28/05/2005 16:21:09

Shany
Salut Jpleroisse, même si je mets * ds la requete g le mm problème.
Je vais tester une otre méthode pour voir. Merci encore.


Classé sous : problème, text, table, table1, trequette

Participer à cet échange

Pub



Appels d'offres

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS