Vb, afficher une requete dans un textbox

Résolu/Fermé
roros Messages postés 37 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 5 mai 2009 - 25 juin 2008 à 07:37
 loverzzz - 11 mai 2011 à 16:48
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)
A voir également:

24 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 juin 2008 à 09:09
Bonjour,

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

;o)
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 juin 2008 à 09:55
matextbox.text=requeteSQL ....
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 juin 2008 à 10:01
tu crois que ça va marcher ???? tu pourrais développer un peu, non ? Parce que là, rien ne s'affichera ...
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 juin 2008 à 10:14
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 juin 2008 à 10:18
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

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

Posez votre question
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 juin 2008 à 10:21
je ne suis sur de rien. si monsieur revient, il nous expliquera ses souhaits
0
roros Messages postés 37 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 5 mai 2009
25 juin 2008 à 10:24
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 juin 2008 à 10:24
C'est ce que je veux dire également ... trop peu d'explication dans la demande pour intervenir efficacement.

;o)
0
roros Messages postés 37 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 5 mai 2009
25 juin 2008 à 11:01
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
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 juin 2008 à 11:08
si Desc_PF.text=ReqSQL1 ne passe pas, je ne sais pas quoi te dire
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 juin 2008 à 11:13
peux-tu nous donner le message d'erreur stp ?

0
roros Messages postés 37 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 5 mai 2009
25 juin 2008 à 11:48
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 juin 2008 à 12:02
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
roros Messages postés 37 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 5 mai 2009
25 juin 2008 à 12:12
Ok, je vais essayer le code, je te tiendrai au courant cet aprem,

Merci
0
roros Messages postés 37 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 5 mai 2009
25 juin 2008 à 14:03
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 juin 2008 à 14:11
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
roros Messages postés 37 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 5 mai 2009
25 juin 2008 à 14:41
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 juin 2008 à 14:49
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
roros Messages postés 37 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 5 mai 2009
25 juin 2008 à 15:11
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
25 juin 2008 à 15:14
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
roros Messages postés 37 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 5 mai 2009
25 juin 2008 à 15:31
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