Probleme avec base [Résolu]

cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 11 déc. 2006 à 22:04 - Dernière réponse : bricoyeye 326 Messages postés vendredi 15 avril 2005Date d'inscription 29 avril 2008 Dernière intervention
- 12 déc. 2006 à 11:49
Bonsoir
j'ai encore un soucis avec ma base
dans ma table j'ai 2 champs
plats         prix
A
B
C
D
dans ma form j'ai 4 labels
13,14,15,16.
est possible quand je click sur un bouton,les données qui se trouve dans les labels
se place dans le champs "prix" en face des plats


label 13 [prix] =[plats] A
label 14 [prix] =[plats] B
label 15 [prix] =[plats] C
label 16 [prix] =[plats] D
merci
@plus
petchy
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
bricoyeye 326 Messages postés vendredi 15 avril 2005Date d'inscription 29 avril 2008 Dernière intervention - 12 déc. 2006 à 09:04
3
Merci
Salut,

Il faut fermer ton recordset avant
Private Sub Label1_Click()
tb.Close 'Si tu ne l'as pas fait avant
   tb.Open "SELECT * FROM [TATABLE] WHERE [plat] like '%" & Replace(Label1.Caption, "'", "''") & "%' ", bd, adOpenKeyset, adLockBatchOptimistic
Label2.Caption = tb!prix
End Sub

Maintenant, dans un label, tu ne peux pas rentrer du texte, il te faut des textbox.


Donc tu fais 4 labels avec le même Nom et tu les index de 1 à 4
Tu fais 4 textBox avec le même Nom et tu les index aussi de 1 à 4

Private Sub Form_Load()
On Error Resume Next
bd.Provider = "microsoft.jet.oledb.4.0"
        bd.ConnectionString = App.Path & "\TABASE.mdb" 'chemin et nom de ta base
        bd.Open
    tb.Open "select * from TATABLE", bd, adOpenDynamic, adLockOptimistic
tb.MoveFirst

For i = 1 To 4
Label(i).Caption = tb!plat
Text(i).Text = tb!prix
tb.MoveNext
Next i
tb.Close
End Sub
'Pour enregistrer tu mets un boutton
Private Sub Command1_Click()
On Error Resume Next

tb.Open "select * from table1", bd, adOpenDynamic, adLockOptimistic
tb.MoveFirst
For i = 1 To 4
tb!prix = Text(i).Text
tb.Update
tb.MoveNext
Next i
tb.Close
End Sub

Merci bricoyeye 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de bricoyeye
bricoyeye 326 Messages postés vendredi 15 avril 2005Date d'inscription 29 avril 2008 Dernière intervention - 12 déc. 2006 à 00:21
0
Merci
Salut,

Pas trés claire la question!
Si tu veux mettre à jour ta base, c'est Update
Commenter la réponse de bricoyeye
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 12 déc. 2006 à 07:17
0
Merci
salut
en fait le champ "plats" est déja rempli manuellement car ça sa ne chande pas,c'est les prix qui changeront ,je que je voudrais c'est envoyé
les données des labels dans les "cases" appopriée,c'est à dire :
label 13 [prix] =[plats] A
label 14 [prix] =[plats] B
label 15 [prix] =[plats] C
label 16 [prix] =[plats] D
merci
petchy
Commenter la réponse de cs_petchy
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 12 déc. 2006 à 07:23
0
Merci
re
se serais du genre
tb1!label 13 [prix] = tb1![plats]A
tb1!label 14 [prix] = tb1![plats]B
tb1!label 15 [prix] = tb1![plats]C
tb1!label 16 [prix] = tb1![plats]D
tb1.Update
tb1.Close
mais il doit manquer quelque chose  !
Commenter la réponse de cs_petchy
bricoyeye 326 Messages postés vendredi 15 avril 2005Date d'inscription 29 avril 2008 Dernière intervention - 12 déc. 2006 à 07:59
0
Merci
Private Sub Label1_Click()
   tb.Open "SELECT * FROM [TATABLE] WHERE [plat] like '%" & Replace(Label1.Caption, "'", "''") & "%' ", bd, adOpenKeyset, adLockBatchOptimistic
Label2.Caption = tb!prix
End Sub

Si tes plats sont chargé dans un label
Commenter la réponse de bricoyeye
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 12 déc. 2006 à 08:37
0
Merci
merci Bricoyeye
mais il me met une erreur "cette opération n'est pas autorisé si l'objet est déja ouvert"
c'est possible de mettre se code dans un bouton,comme ça quand je valide il envoi les donnéees dans la table.
petchy
Commenter la réponse de cs_petchy
cs_petchy 710 Messages postés jeudi 20 février 2003Date d'inscription 19 mai 2015 Dernière intervention - 12 déc. 2006 à 10:20
0
Merci
trop classe,merci
t'est vachement sympa
@ plus
petchy
Commenter la réponse de cs_petchy
bricoyeye 326 Messages postés vendredi 15 avril 2005Date d'inscription 29 avril 2008 Dernière intervention - 12 déc. 2006 à 11:49
0
Merci
Salut, heurex que çà te plaise.
Mais j'aurrais quand même avec un listView!!

Option Explicit
Dim bd As New ADODB.Connection
Dim tb As New ADODB.Recordset
Public cmdado As New ADODB.Command


Private Sub Command1_Click() 'pour un update
On Error Resume Next
tb!prix = Text1.Text
tb.Update
End Sub


Private Sub Form_Load()
On Error Resume Next
bd.Provider = "microsoft.jet.oledb.4.0"
        bd.ConnectionString = App.Path & "\bd4.mdb"
        bd.Open
    tb.Open "select * from table1", bd, adOpenDynamic, adLockOptimistic
Call load_list 'remplis la list
End Sub
Private Sub load_list()
Dim LstItem As ListItem
   
   
    ListView1.ListItems.Clear
   
   
   
    cmdado.CommandText = "select * from Table1"
       
  
    tb.Requery
    On Error Resume Next
   
    While (Not tb.EOF)


      If (tb.RecordCount <> 0) Then
          Set LstItem = ListView1.ListItems.Add(, , CStr(tb!PLAT) + "     " + "prix:  " + CStr(tb!prix)) 'affiche
         
         
         
      End If
  
    
      tb.MoveNext
          
    Wend


End Sub


Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem) 'pour le choix
   Dim IndexItem As Long
    On Error Resume Next


        
   
          tb.MoveFirst
         
        
          IndexItem = Item.Index
       
        
          tb.Move (IndexItem - 1)
         
           Text1.Text = tb!prix  'affiche le prix dans ton textBox pour le modifier
       
         
          On Error Resume Next
      
       
     
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) 'pour fermer quand tu t'en va!!
bd.Close
tb.Close
End Sub
Commenter la réponse de bricoyeye

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.