Vb, afficher une requete dans un textbox

Résolu
roros Messages postés 39 Statut Membre -  
 loverzzz -
Bonjour,
Je travaille sur VB avec une base de données SQL, j'aimerai savoir comment afficher une requête dans un TextBox??

Merci D)

24 réponses

  • 1
  • 2
  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    C'est le résultat de ta requête ou la commande SQL que tu veux afficher ?

    ;o)
    0
  2. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    matextbox.text=requeteSQL ....
    0
    1. Polux31 Messages postés 7219 Statut Membre 1 204
       
      tu crois que ça va marcher ???? tu pourrais développer un peu, non ? Parce que là, rien ne s'affichera ...
      0
  3. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    ben il a sa requete sql dans uen variable requeteSQL, et il affiche le contenu ´dans la textbox ...
    ceci dit, je recommanderai plutot l utilisation del aocnsole de debugage:
    debug.print requeteSQL
    --
    periphérique marche pas? detection auto sur touslesdrivers.com !
    n oubliez pas d aller sur google avant de poser vos questions...
    0
  4. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Ah ! et tu es sûr que c'est ça qu'il veut ?

    Ca ne serait pas plutôt le résultat d'une requête ? ou bien construire une requête qui s'affiche dans un textbox ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    je ne suis sur de rien. si monsieur revient, il nous expliquera ses souhaits
    0
  7. roros Messages postés 39 Statut Membre
     
    Je vais vous envoyer le code et vous expliquerer en détail, d'ici 1h de temps car la je n'ai pas le code devant moi.
    Merci de votre patience:)
    0
  8. Polux31 Messages postés 7219 Statut Membre 1 204
     
    C'est ce que je veux dire également ... trop peu d'explication dans la demande pour intervenir efficacement.

    ;o)
    0
  9. roros Messages postés 39 Statut Membre
     
    Voici le code:

    Private Sub Afficher_PF_Click ()

    Adodc1.ConnectionString = CxBase

    'Requete qui affiche tout les informations concernant la GAMME

    Adodc1.RecordSource = "SELECT TU_BU_GAMME.TUBG_OP as 'Numéro Opération ', TU_BU_GAMME.TUBG_CC ' Centre de Charges ',
    TU_BU_GAMME.TUBG_DESC_OP ' Description Opération ',TU_BU_COUTS.TUBC_CODE_ENT as ' Code Entretien ' , TU_BU_COUTS.TUBC_CODE_ELEC as ' Code Electricité '
    FROM TU_BU_GAMME INNER JOIN
    SC010100 ON TU_BU_GAMME.TUBG_PF = SC010100.SC01001 INNER JOIN TU_BU_COUTS ON dbo.TU_BU_GAMME.TUBG_CC = dbo.TU_BU_COUTS.TUBC_CC AND TU_BU_GAMME.TUBG_ANNEE = TU_BU_COUTS.TUBC_ANNEE
    Where TUBG_PF = '" & DataCombo1 & "' and TUBG_ANNEE= '" & Annee_Gam.Text & "'"

    Set DataGrid1.DataSource = Adodc1
    Adodc1.Refresh

    Jusqu’ici touts fonctionne

    'Requete qui affiche la Designation du Produit Finie

    Dim cmd1 As ADODB.Command
    Dim rdset1 As Recordset
    Set cmd1 = New ADODB.Command
    Set cmd1.ActiveConnection = CxBase

    ReqSQL1 = " select SC01002 FROM SC010100 WHERE SC01001 = '" & Mid (DataCombo1, 1, InStr (1, DataCombo1, " ")) & "';"

    cmd1.CommandText = ReqSQL1

    Debug.Print ReqSQL1

    Ici ca bug
    Set rdset1 = cmd1.Execute (ReqSQL1)

    If rdset1.EOF = False Then
    Desc_PF.Text = rdset1! SC01002
    End If

    Moi je veux afficher la requête ReqSQL1 dans le textBox Desc_PF.text
    0
  10. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    si Desc_PF.text=ReqSQL1 ne passe pas, je ne sais pas quoi te dire
    0
  11. Polux31 Messages postés 7219 Statut Membre 1 204
     
    peux-tu nous donner le message d'erreur stp ?

    0
  12. roros Messages postés 39 Statut Membre
     
    en fait l'erreur c'est type incompatbile

    si le code n'était pas clair, je l'ai un peu modifié le voici avec des commentaires plus détaillés à la fin

    Private Sub Afficher_PF_Click ()

    Dim cmd1 As ADODB.Command
    Dim rdset1 As Recordset
    Set cmd1 = New ADODB.Command
    Set cmd1.ActiveConnection = CxBase

    ReqSQL1 = " select Desc_Gamme FROM GAMME WHERE Code_PF = '" & Mid (DataCombo1, 1, InStr (1, DataCombo1, " ")) & "';"

    cmd1.CommandText = ReqSQL1

    Debug.Print ReqSQL1

    Set rdset1 = cmd1.Execute (ReqSQL1)

    If rdset1.EOF = False Then
    Desc_PF.Text = rdset1! Desc_Gamme
    End If

    Commentaire
    Au début il ya un DataCombo qui contient des items. Il faut quand je choisis un item il faut que j’appuie sur le bouton Afficher_PF pour afficher la description de l’item que j’ai choisi dans un textbox.

    Moi je veux afficher la requête ReqSQL1 dans le textBox Desc_PF.text
    0
  13. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Essaies ça :

    Dim cnx As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim ReqSQL1 As String
        
        ReqSQL1 = " select Desc_Gamme FROM GAMME WHERE Code_PF = '" & Mid (DataCombo1, 1, InStr (1, DataCombo1, " ")) & "';" 
    
        Set rs = New ADODB.Recordset
        Set cnx = New ADODB.Connection
        cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CxBase
        
        rs.Open ReqSQL1, cnx.Open
        rs.MoveFirst
        Desc_PF.Text = rs.Fields(0)
    
        rs.Close
        cnx.Close
        Set rs = Nothing
        Set cnx = Nothing


    0
  14. roros Messages postés 39 Statut Membre
     
    Ok, je vais essayer le code, je te tiendrai au courant cet aprem,

    Merci
    0
  15. roros Messages postés 39 Statut Membre
     
    J'ai essayé ca ne marche pas

    Dim cnx As ADODB.Connection

    Dim rs As ADODB.Recordset

    Dim ReqSQL1 As String

    ReqSQL1 = " select Desc_Gamme FROM GAMME WHERE Code_PF = '" & Mid (DataCombo1, 1, InStr (1, DataCombo1, " ")) & "';"

    Set rs = New ADODB.Recordset

    Set cnx = New ADODB.Connection

    cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CxBase

    rs.Open ReqSQL1, cnx.Open

    « Erreur de compilation : Function ou variable attendue »

    rs.MoveFirst

    Desc_PF.Text = rs.Fields(0)

    rs.Close

    cnx.Close

    Set rs = Nothing

    Set cnx = Nothing
    0
  16. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Set rs = New ADODB.Recordset 
    
    Set cnx = New ADODB.Connection 
    
    cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CxBase 
    
    cnx.Open 
    
    rs.Open ReqSQL1, cnx


    je viens de faire un test chez moi, ça fonctionne, je récupère bien le recordset ... as-tu bien inclus la référence :
    Microsoft ActiveX Data Objects Library x.x dans ton projet ?

    0
  17. roros Messages postés 39 Statut Membre
     
    Il me donne une autre erreur maintenant

    Dim cnx As ADODB.Connection

    Dim rs As ADODB.Recordset

    Dim ReqSQL1 As String

    ReqSQL1 = " select SC01002 FROM SC010100 WHERE SC01001 = '" & Mid(DataCombo1, 1, InStr(1, DataCombo1, " ")) & "';"

    Set rs = New ADODB.Recordset

    Set cnx = New ADODB.Connection

    cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CxBase

    cnx.Open

    « Une opération OLE-DB en plusieurs étapes a généré des erreurs. Vérifiez chaque valeur d’état OLE-DB disponible .Aucun travail n’a été effectué »

    rs.Open ReqSQL1, cnx

    rs.MoveFirst

    Desc_PF.Text = rs.Fields(0)

    rs.Close

    cnx.Close

    Set rs = Nothing

    Set cnx = Nothing

    Moi j’ai crée un module public et j’ai mis dedans et ca marche pour tout les requetes select:

    ' Déclaration de l'object connection pointant vers la base en cours

    ' -----------------------------------------------------------------

    Public CxBase As ADODB.Connection

    ' Procédure de connection aux bases de données

    Public Sub ConnecBdd()

    Set CxBase = New ADODB.Connection

    ' Lecture du fichier CRSS58.INI

    Call Lec_BUDGETini

    ' Initialisation de la variable qui pointe vers la base Access

    LaBase = CheminAccesBase

    ' Paramétrage de la connexion

    Select Case ConnectionActiveLue

    Case "ConnectionAccess": CxBase.ConnectionString = ConnectionActive

    CxBase.Open LaBase

    Case "ConnectionOracle": CxBase.Open ConnectionActive

    Case "ConnectionSQLServer": CxBase.Open ConnectionActive

    End Select

    End Sub

    et pour la connection je met ça par exemple:

    Adodc2.ConnectionString = "Provider=sqloledb;Data Source=srv-scala;Initial Catalog=scalaDB;User Id=sa;Password=iscala22;"


    En fait Je ne sais pas ou il faut mettre ca « Microsoft.Jet.OLEDB.4.0;Data Source »
    0
  18. Polux31 Messages postés 7219 Statut Membre 1 204
     
    eh ben j'ai imaginé que ta base était Access.

    Alors on reprend tout :o)
    Dim rs As ADODB.Recordset
    Dim ReqSQL1 As String
        
        ReqSQL1 = " select Desc_Gamme FROM GAMME WHERE Code_PF = '" & Mid (DataCombo1, 1, InStr (1, DataCombo1, " ")) & "';" 
    
        Set rs = New ADODB.Recordset
        
        rs.Open ReqSQL1, moduleBdd.CxBase  'ici le module public qui contient l'objet connexion avec la base (CxBase)
        rs.MoveFirst
        Desc_PF.Text = rs.Fields(0)
    
        rs.Close
        Set rs = Nothing
    

    0
  19. roros Messages postés 39 Statut Membre
     
    Toujours l'erreur dans la meme endroit

    Dim rs As ADODB.Recordset
    Dim ReqSQL1 As String
    Set cmd1 = New ADODB.Command
    Set cmd1.ActiveConnection = CxBase

    ReqSQL1 = " select SC01002 FROM SC010100 WHERE SC01001 = '" & Mid(DataCombo1, 1, InStr(1, DataCombo1, " ")) & "';"
    Set rs = New ADODB.Recordset


    message d'erreur : L'objet ne gère pas cette propriété ou cette méthode
    rs.Open ReqSQL1, cmd1.CxBase

    'ici le module public qui contient l'objet connexion avec la base (CxBase)
    rs.MoveFirst
    Desc_PF.Text = rs.Fields(0)
    rs.Close
    Set rs = Nothing
    0
  20. Polux31 Messages postés 7219 Statut Membre 1 204
     
    il ne faut pas mettre ça :
    Set cmd1 = New ADODB.Command
    Set cmd1.ActiveConnection = CxBase

    Ensuite il faut que ta base soit ouverte pour passer la requête.
    0
  21. roros Messages postés 39 Statut Membre
     
    toutjours le meme problème dans le meme endroit,je ne comprend pas ou est le problème

    Dim rs As ADODB.Recordset
    Dim ReqSQL1 As String
    ConnectionString = "Provider=sqloledb;Data Source=srv-scala;Initial Catalog=scalaDB;User Id=sa;Password=iscala22;"
    ReqSQL1 = " select SC01002 FROM SC010100 WHERE SC01001 = '" & Mid(DataCombo1, 1, InStr(1, DataCombo1, " ")) & "';"
    Set rs = New ADODB.Recordset


    ' qu'est ce que tu veut dire par objet connection ???

    rs.Open ReqSQL1, CxBase
    'ici le module public qui contient l'objet connexion avec la base (CxBase)
    rs.MoveFirst
    Desc_PF.Text = rs.Fields(0)
    rs.Close
    Set rs = Nothing

    Je te remercie de me consacrer du temps :)
    0
  • 1
  • 2