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

Macros et VBA Excel Discussion :

ODBC Vba - type binary not displayed


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Par défaut ODBC Vba - type binary not displayed
    Bonjour,

    Via VBA Excel, je fais une connexion ODBC a une DB SQL server 2008 R2, lance une requête et affiche le résultat dans une feuille excel.

    Tous fonctionne correctement sauf les champs, definits comme 'BINARY' dans la base de données, ne sont pas affichés correctement. La valeur de ces champs est toujours égale à '' (NULL).

    J'ai essayé en utilisant un DSN definit dans windows puis également le DSN definit dans le code VBA mais toujours le même problème.

    Voici le dernier code avec les parametres de connection definit dans celui-ci:

    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
     
    Sub RunQuery(WkSheetName As String, sSQL As String)
     
        Dim wsSheet As Worksheet
        Dim cnt As ADODB.Connection
        Dim rst As ADODB.Recordset
        Dim iCol_nbr As Integer
     
        ' Connection Parameters
        Dim stADO As String
        stADO = "Provider=SQLOLEDB.1;Integrated Security=SSPI;" & _
        "Persist Security Info=False;" & _
        "Initial Catalog=" + ActiveWorkbook.Sheets("App_Form").Range("B3").Value + ";" & _
        "Data Source=" + ActiveWorkbook.Sheets("App_Form").Range("B2").Value
     
        ' Cleanup OLD Data
        CleanWorkSheet WkSheetName, "Yes"
     
        ' Worksheet Definition
        Set wsSheet = ActiveWorkbook.Sheets(WkSheetName)
     
        ' Creating the connection
        Set cnt = New ADODB.Connection
     
        ' Executing the SQL query
        With cnt
            .CursorLocation = adUseClient
            .Open stADO
            .CommandTimeout = 0
            Set rst = .Execute(sSQL)
        End With
     
        ActiveWorkbook.Sheets(WkSheetName).Range("A1").Value = "Rows Count"
        ActiveWorkbook.Sheets(WkSheetName).Range("B1").Value = rst.RecordCount
     
        ' Adding column names in the first row
        iCol_nbr = 1
        For Each fld In rst.Fields
            ActiveWorkbook.Sheets(WkSheetName).Cells(2, iCol_nbr).Value = fld.Name
            iCol_nbr = iCol_nbr + 1
        Next
     
        ' Adding the Recordset to the sheet from A2
        ActiveWorkbook.Sheets(WkSheetName).Range("A3").CopyFromRecordset rst
     
        ' Look and feel update
        ActiveWorkbook.Sheets(WkSheetName).Select
        ActiveWindow.Zoom = 50
        ActiveWorkbook.Sheets(WkSheetName).Cells.EntireColumn.AutoFit
        ActiveWorkbook.Sheets(WkSheetName).Cells.EntireRow.AutoFit
        ActiveWorkbook.Sheets(WkSheetName).Range("A1").Select
     
        ' Cleaning up.
        rst.Close
        cnt.Close
        Set rst = Nothing
        Set cnt = Nothing
     
    End Sub
    Quelqu'un aurait une idée ?

    Merci

  2. #2
    Membre émérite
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Par défaut
    tout a fait logique il seront afficher comme quoi !

Discussions similaires

  1. BINARY, NOT IN, NOT EQUAL... et les Index !
    Par Acti dans le forum Requêtes
    Réponses: 2
    Dernier message: 23/03/2006, 17h22
  2. Comparaison sur variable de type Binary (32)
    Par krapno dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/10/2005, 12h48
  3. Réponses: 4
    Dernier message: 27/07/2005, 11h33
  4. ODBC Access => Type Incompatible avec un champ DATE ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 6
    Dernier message: 23/04/2005, 02h02

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