Vb, afficher une requete dans un textbox

Résolu
roros Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
 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)
A voir également:

24 réponses

Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
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   Statut Contributeur Dernière intervention   3 193
 
matextbox.text=requeteSQL ....
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
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   Statut Contributeur Dernière intervention   3 193
 
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   Statut Membre Dernière intervention   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

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

Posez votre question
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
je ne suis sur de rien. si monsieur revient, il nous expliquera ses souhaits
0
roros Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   1 204
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   3 193
 
si Desc_PF.text=ReqSQL1 ne passe pas, je ne sais pas quoi te dire
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
peux-tu nous donner le message d'erreur stp ?

0
roros Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   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
roros Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Ok, je vais essayer le code, je te tiendrai au courant cet aprem,

Merci
0
roros Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   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
roros Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   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
roros Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   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
roros Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
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