Problème de requete sql avec vb
Fermé
touzack
Messages postés
27
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
3 mai 2009
-
25 sept. 2007 à 10:11
Polux31 - 5 oct. 2007 à 14:32
Polux31 - 5 oct. 2007 à 14:32
A voir également:
- Problème de requete sql avec vb
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Sql lister les tables ✓ - Forum Programmation
- Blob sql ✓ - Forum Webmastering
1 réponse
bonjour,
J'utilise un module générique pour la connection à la base et dans le lequel j'ai une fonction qui passe la requete à la bdd et un recordset par référence pour récupérer les données. Dans ton cas ça donnerai un truc comme ça:
Public sub EnvoiQuery()
dim vrai as boolean
dim RS as ADODB.RecordSet
dim Query as string
On Error Resume Next
set RS = new ADODB.RecordSet
Query = "Select * from Courrier_entrant"
Query = Query + "where num_cour in ( select num_cour from Deposer where Code_serv= "vv" and date_recept=' " & myDate & " ' "
vrai = modBdd.OuvrirRecordSet(Query, RS)
if vrai = False then
msgbox "Erreur: la requête [" & Query & "] n'a pas abouti.", ,"Message Errreur"
Exit sub
else
// le code a exécuté si le retour est = True
end if
end sub
--------------------
ModBdd
Dim cnnADO As New ADODB.Connection ' Pour la connection à la base de données
Dim cmdAdo As New ADODB.Command ' Pour la commande à la base de données
Dim RScnx As New ADODB.Recordset ' Pour recevoir le résultat de la commande
..........
' Fonction générique pour le passage d'une requête à la base de données, reçois la requete et le recordset, retourne un booléen
Public Function OuvrirRecordset(ByVal requete As String, ByRef RS As ADODB.Recordset) As Boolean
Call setNbEnr(0) 'initialise le nb d'enregistrement
If RS.State = adStateOpen Then ' test le statut de la base
RS.Close
End If
On Error Resume Next
RS.Open requete, ModBdd.cnnADO, , , adCmdText 'Envoi du recordset
Call setNbEnr(RS.RecordCount) ' Nombre de record
If Err.Number <> 0 Then
OuvrirRecordset = False 'La transaction n'est pas réalisée, retourne False
Exit Function
End If
RS.MoveFirst ' Positionnement sur le premier enregistrement du RecordSet
OuvrirRecordset = True ' La transaction a été réalisée, retourne True
End Function
..........
Après à toi de faire le traitement des données contenues dans le RecordSet.
Bon courage
Polux
J'utilise un module générique pour la connection à la base et dans le lequel j'ai une fonction qui passe la requete à la bdd et un recordset par référence pour récupérer les données. Dans ton cas ça donnerai un truc comme ça:
Public sub EnvoiQuery()
dim vrai as boolean
dim RS as ADODB.RecordSet
dim Query as string
On Error Resume Next
set RS = new ADODB.RecordSet
Query = "Select * from Courrier_entrant"
Query = Query + "where num_cour in ( select num_cour from Deposer where Code_serv= "vv" and date_recept=' " & myDate & " ' "
vrai = modBdd.OuvrirRecordSet(Query, RS)
if vrai = False then
msgbox "Erreur: la requête [" & Query & "] n'a pas abouti.", ,"Message Errreur"
Exit sub
else
// le code a exécuté si le retour est = True
end if
end sub
--------------------
ModBdd
Dim cnnADO As New ADODB.Connection ' Pour la connection à la base de données
Dim cmdAdo As New ADODB.Command ' Pour la commande à la base de données
Dim RScnx As New ADODB.Recordset ' Pour recevoir le résultat de la commande
..........
' Fonction générique pour le passage d'une requête à la base de données, reçois la requete et le recordset, retourne un booléen
Public Function OuvrirRecordset(ByVal requete As String, ByRef RS As ADODB.Recordset) As Boolean
Call setNbEnr(0) 'initialise le nb d'enregistrement
If RS.State = adStateOpen Then ' test le statut de la base
RS.Close
End If
On Error Resume Next
RS.Open requete, ModBdd.cnnADO, , , adCmdText 'Envoi du recordset
Call setNbEnr(RS.RecordCount) ' Nombre de record
If Err.Number <> 0 Then
OuvrirRecordset = False 'La transaction n'est pas réalisée, retourne False
Exit Function
End If
RS.MoveFirst ' Positionnement sur le premier enregistrement du RecordSet
OuvrirRecordset = True ' La transaction a été réalisée, retourne True
End Function
..........
Après à toi de faire le traitement des données contenues dans le RecordSet.
Bon courage
Polux