IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Requete SQL sur base SQL Server VB6


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 150
    Points : 65
    Points
    65
    Par défaut Requete SQL sur base SQL Server VB6
    Bonjour je créer un petit programme dans lequel j'attaque une base SQL SERVER 2000. Lors de l'ouverture de la requête aucun problème mais lorsque j'essaye de lire la première donnée il me met l'erreur suivante :

    Impossible de trouver l'objet dans la collection correspondant au nom où à la référenceordinale demandée

    Voila mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
     
    Sub GSQL()
    Dim i, iMax As Integer
    Dim nbenregis As Long
    Dim Tinit(200), Corres(200), Ligne, Test, Ligne2, Tligne(200), Source, Cible, Car, tabu, Requete, Ligne3, Requete1 As String
    Dim arindissql As Database
    Dim rstArt As ADODB.Recordset
    Set rstArt = New ADODB.Recordset
     
    Close
    tabu = Chr(9)
    Source = Range("Source").Value
    Cible = Range("Cible").Value
    Open Source For Input As #1 'Ouverture des fichiers
    Open Cible For Output As #2
    i = 4: While Not (Cells(i, 2) = "#"): i = i + 1: Wend
    iMax = i - 4
    For i = 1 To iMax: Tinit(i) = Cells(i + 3, 2).Value: Next i
    While Not EOF(1)
        Line Input #1, Ligne
        i = 1
        j = 0
        mot = ""
        While Not (i > Len(Ligne))
            Car = Mid(Ligne, i, 1)
            If Car = tabu Then 'Or i = Len(Ligne)
                j = j + 1
                Tligne(j) = mot
                mot = ""
            ElseIf i = Len(Ligne) Then
                mot = mot + Car
                j = j + 1
                Tligne(j) = mot
                mot = ""
            Else
                mot = mot + Car
            End If
            i = i + 1
        Wend
        For i = 1 To iMax: Corres(i) = Tinit(i): Next
        For i = 1 To iMax
            If Left(Corres(i), 1) = "#" Then
                Corres(i) = Tligne(CInt(Right(Corres(i), 2)))
            End If
        Next i
        Ligne2 = ""
        For i = 1 To iMax: Ligne2 = Ligne2 & Corres(i): Next i
        MsgBox Ligne2
        Print #2, Ligne2
    Wend
    Close
     
     
    Open Cible For Input As #3
     
    Dim cnx As ADODB.Connection
    Set cnx = New ADODB.Connection
    'Définition de la chaîne de connexion
    cnx.ConnectionString = "UID=" & Administrateur & ";" & "DRIVER={SQL Server};Server=" & "SQL" & ";Database=" & "arindissql" & ";"
    'PWD=" & MotDePasse & ";
    'Ouverture de la base de données
    cnx.Open
    cnx.Execute ("exec sp_dboption 'arindissql', 'arithabort', 'TRUE'")
     
    While Not EOF(3)
        Ligne3 = ""
        Line Input #3, Ligne3
        Requete = Ligne3
        Ligne3 = ""
        cnx.Execute (Requete)
    Wend
    'cnx.Execute ("INSERT INTO  F_DOCENTETE (DO_Piece,DO_Type,DO_Domaine,DO_Statut,DO_Tiers) VALUES ('BLA01672', 3, 1, 0, 'COMPIN')")
    Close
     
    'Pour les ligne de documents
    Worksheets("Corps").Activate
    Source = Range("SourceLigne").Value
    Cible = Range("DestLigne").Value
    Open Source For Input As #1 'Ouverture des fichiers
    Open Cible For Output As #2
    i = 4: While Not (Cells(i, 2) = "#"): i = i + 1: Wend
    iMax = i - 4
    For i = 1 To iMax: Tinit(i) = Cells(i + 3, 2).Value: Next i
     
    While Not EOF(1)
        Line Input #1, Ligne
        i = 1
        j = 0
        mot = ""
        While Not (i > Len(Ligne))
            Car = Mid(Ligne, i, 1)
            If Car = tabu Then 'Or i = Len(Ligne)
                j = j + 1
                Tligne(j) = mot
                mot = ""
            ElseIf i = Len(Ligne) Then
                mot = mot + Car
                j = j + 1
                Tligne(j) = mot
                mot = ""
            Else
                mot = mot + Car
            End If
            i = i + 1
        Wend
        For i = 1 To iMax: Corres(i) = Tinit(i): Next
        For i = 1 To iMax
            If Left(Corres(i), 1) = "#" Then
                Corres(i) = Tligne(CInt(Right(Corres(i), 2)))
            End If
        Next i
        Ligne2 = ""
        For i = 1 To iMax: Ligne2 = Ligne2 & Corres(i): Next i
        MsgBox Ligne2
        Print #2, Ligne2
    Wend
    Close
     
    Open Range("DestLigne").Value For Input As #3
     
    'Dim cnx As ADODB.Connection
    Set cnx = New ADODB.Connection
     
     
    'Définition de la chaîne de connexion
    cnx.ConnectionString = "UID=" & Administrateur & ";" & "DRIVER={SQL Server};Server=" & "SQL" & ";Database=" & "arindissql" & ";"
    'PWD=" & MotDePasse & ";
    'Ouverture de la base de données
    cnx.Open
    cnx.Execute ("exec sp_dboption 'arindissql', 'arithabort', 'TRUE'")
     
    While Not EOF(3)
        Ligne3 = ""
        Line Input #3, Ligne3
        Requete = Ligne3
        Ligne3 = ""
        Requete1 = "SELECT AR_Ref FROM F_ARTICLE WHERE AR_Ref='" & Corres(42) & "'"
        rstArt.Open Requete1, cnx
        Test = rstArt.Fields(1).Value
        'cnx.Execute (Requete)
    Wend
    Close
    Worksheets("Entête").Activate
    End Sub
     
    L'erreur se situe sur rstArtFields(1).value
    Merci

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Hello!
    Dans un Resultset, le premier champ du select se trouve dans l'indice 0. Or, tu fais un select sur un seul champ, et tu demandes rstArtFields(1), donc, erreur!
    Essaie ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Test = rstArt.Fields(0).Value
    Ça pourrait marcher mieux.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 150
    Points : 65
    Points
    65
    Par défaut
    Merci

  4. #4
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Pour être honnête, quand j'ai vu la taille du code que tu as posté, j'ai eu un peu peur...
    Ravi de t'avoir aider à résoudre ce petit problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requete sql sur base oracle
    Par kiro4 dans le forum SQL
    Réponses: 4
    Dernier message: 18/03/2009, 08h59
  2. Connexion en VB sur base SQL Server 2005
    Par john.fender dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/01/2007, 11h20
  3. Recherche à la google sur base SQL SERVER
    Par seb.49 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 09/08/2006, 18h12
  4. application access sur base sql server
    Par souma dans le forum Access
    Réponses: 1
    Dernier message: 05/05/2006, 09h11
  5. Requete ASP sur Base SQL
    Par smast2005 dans le forum ASP
    Réponses: 8
    Dernier message: 22/02/2005, 11h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo