begin process at 2012 02 16 06:51:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Trucs & Astuces

 > 

requete et base de données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

requete et base de données

mercredi 28 mai 2008 à 18:06:49 | requete et base de données

ddove53

Salut j'ai deux tables: Financeur et Financeurs_OP.
Je vérifie que [CPF]est>0, aprés je vérifie si check50 est vrai ou faux.
Si check50=1 je vais chercher des données dans ma table Financeurs_OP sinon je vais chercher des données dans Financeur.
Pouvez-vous me débloquer?Voici ce que j'ai essayé de faire:

Me.Dat_financeurs.DatabaseName = Bdd
   If Rs![CPF] > 0 Then
              sql_glob_rs = "SELECT Financeurs_OP.[Code Sres], [Code OT] & ' - ' & [libellé] AS Macrotaches, Financeurs_OP.CFP"
       Else
            sql_glob_rs = "SELECT Financeurs_OP.[Code Sres], [Code OT] & ' - ' & [libellé] AS Macrotaches, Financeurs_OP.Budget"

       End If
   sql1 = "SELECT Financeur.[Ref reseau],,[Nom Financeur] as [Financeur(s)], [Part Financeur] as [Part en %],[montant Financeur]as Montant from financeur where [ref reseau] =" & glob_sres

If dgsr1.Check50.Value = 1 Then


        Dim sNom() As String
        ReDim sNom(20)
        Set Db = DBEngine.OpenDatabase(Bdd)
        Set Rs = Db.OpenRecordset("SELECT [Nom Financeur],[codeFinanceur] " & _
                   "FROM [Financeur] " & _
                   "WHERE ([Ref reseau]=" & glob_sres & ") " & _
                   "ORDER BY [codeFinanceur] ", dbOpenForwardOnly)
        i = 1
    
   If dgsr1.Check50.Value = 1 Then

        Do Until Rs.EOF
            sNom(i) = Rs![Nom Financeur]
            sql_glob_rs = sql_glob_rs & ", Financeurs_OP.Fin" & i & " as [" & sNom(i) & "]"
            Rs.MoveNext
            i = i + 1
        Loop
        sql_glob_rs = sql_glob_rs & " From Financeurs_OP WHERE (((Financeurs_OP.[Code Sres])=" & glob_sres & "))"
        Me.Dat_financeurs.RecordSource = sql_glob_rs
        Me.Dat_financeurs.Refresh
        Me.Financeurs.MaxRows = Me.Dat_financeurs.Recordset.RecordCount
Else

 Do Until Rs.EOF
            sNom(i) = Rs![Nom Financeur]
            sql1 = sql1 & ", Financeur.Fin" & i & " as [" & sNom(i) & "]"
            Rs.MoveNext
            i = i + 1
        Loop
        sql1 = sql1 & " From Financeur WHERE (((Financeur.[Ref reseau])=" & glob_sres & "))"
        Me.Dat_financeurs.RecordSource = sql1
        Me.Dat_financeurs.Refresh
        Me.Financeurs.MaxRows = Me.Dat_financeurs.Recordset.RecordCount

Me.Financeurs.Col = 1
Me.Financeurs.ColHidden = True
Me.Financeurs.Col = 2
Me.Financeurs.Lock = True
Me.Financeurs.Protect = True

Me.Financeurs.UnitType = UnitTypeTwips '
Me.Financeurs.ColWidth(2) = 2100
Me.Financeurs.ColWidth(3) = 1000
End If

mercredi 28 mai 2008 à 18:13:05 | Re : requete et base de données

rdrapeau

Bonjour,

Vuos dîtes : Si check50=1 je vais chercher des données dans ma table Financeurs_OP

or la requete porte sur la table Financeur

regardez votre code :

If dgsr1.Check50.Value = 1 Then


        Dim sNom() As String
        ReDim sNom(20)
        Set Db = DBEngine.OpenDatabase(Bdd)
        Set Rs = Db.OpenRecordset("SELECT [Nom Financeur],[codeFinanceur] " & _
                   "FROM [Financeur] " & _
                   "WHERE ([Ref reseau]=" & glob_sres & ") " & _
                   "ORDER BY [codeFinanceur] ", dbOpenForwardOnly)
        i = 1
    

flaggy
mercredi 28 mai 2008 à 18:56:21 | Re : requete et base de données

ddove53

Vous avez raison.
Mais j'ai aussi une ereeur de syntaxe sur la requete qui suit.Tu vois mon erreur ou pas?

Do Until Rs.EOF
            sNom(i) = Rs![Nom Financeur]
            sql1 = sql1 & ", Financeur.Fin" & i & " as [" & sNom(i) & "]"
            Rs.MoveNext
            i = i + 1
        Loop
        sql1 = sql1 & " From Financeur WHERE (((Financeur.[Ref reseau])=" & glob_sres & "))"
        Me.Dat_financeurs.RecordSource = sql1
        Me.Dat_financeurs.Refresh
jeudi 29 mai 2008 à 05:31:07 | Re : requete et base de données

FMatrix07

Bonjour,

Ca ne serait pas "(" qui serait en trop
sql1 = sql1 & " From Financeur WHERE (((Financeur.[Ref reseau])=" & glob_sres & "))"

@+: SCCréat
Pensez:  Réponse acceptée

Mail:
Stéphan.COCHET
jeudi 29 mai 2008 à 14:11:30 | Re : requete et base de données

jack

Administrateur CodeS-SourceS
Salut
Abondance de parentèses nuit à la clarté et à la compréhension. (c'est le dicton du jour)
Erreur de syntaxe : Quelle erreur ? que dit-elle ?
sur quelle ligne exactement ?
que vaut la variable de cette ligne au moment de l'erreur ? (voir fenêtre de debug (Ctrl-G) + "? maVariable" )

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
jeudi 29 mai 2008 à 14:14:22 | Re : requete et base de données

jack

Administrateur CodeS-SourceS
Je vois aussi deux virgules qui se suivent ici :
   sql1 = "SELECT Financeur.[Ref reseau],,[Nom Financeur]
Pas normal

Je te conseille de visualiser le contenu de sql1 avant de le soumettre au moteur SQL :
   Debug.Print sql1
   Me.Dat_financeurs.RecordSource = sql1
et regarde dans la fenêtre de debug (Ctl-G)

Relis la syntaxe générée et trouve les anomalies, tu pourras alors savoir d'où vient le problème

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)


Cette discussion est classée dans : rs, op, glob, financeurs, financeur


Répondre à ce message

Sujets en rapport avec ce message

recupération de variables [ par ddove53 ] Slt, je veux recupérer la variable var(k).J'ai mis en rouge ou je veux l'affecter.Pouvez-vous m'aider? Me.Dat_financeurs.DatabaseName = BddWith Me.Dat base de données [ par ddove53 ] Slt pouvez-vous m'aider?Ma requete aprés le "else" ne s'éxécute pas.If dgsr1.Check50.Value = 1 ThenDim sNom() As StringReDim sNom(20)For i = 1 To 20   requete [ par ddove53 ] Slt pouvez-vous m'aider?Ma requete aprés le "else" ne s'éxécute pas.If dgsr1.Check50.Value = 1 ThenDim sNom() As StringReDim sNom(20)For i = 1 To 20   requete [ par ddove53 ] Slt, pouvez-vous m'aider?Ma requete ne s'éxécute pas  après le "else"   If dgsr1.Check50.Value = 1 Then        Dim sNom() As String        ReDim sNom( base de données [ par ddove53 ] Slt j'ai fait une requete comme suit mais j'ai une erreur comme quoi ma requete est fausse ou le moteur de base de données ne trouve pas la table. Mai requete [ par ddove53 ] Slt, j'ai une requete qui suit et j'ai un message d'erreur "erreur de syntaxe(virgule) dans l'expression '[ref reseau]=5". Je ne vois pas mon erreur.h requete sql [ par ddove53 ] Slt, j'ai fait une requete et j'ai une erreur de syntaxe.Dans ma fenetre de debug voici ce que j'obtiens:SELECT [Ref reseau], [Nom Financeur] as [Fina requete [ par ddove53 ] Slt, pouvez-vous me dire ce qui cloche dans cette partie de ma requete?Merci.Dim stab() As StringReDim stab(resultat)Dim sql_glob_rs As StringDim i as base de données [ par ddove53 ] Bonjour, je veux recupérer des données dans deux tables différentes.Quand je faits la requete suivante j'ai une erreur de syntaxe ,merci de votre aide base de données access [ par ddove53 ] Slt, je veux récupérer le libellé d'une table et le mettre en titre de colonne dans mon vaspread, j'ai mis la requete suivante.J'ai mis en rouge mon p


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales