2012-07-30 3 views
1

Quelle est la meilleure façon de lire des données d'une base de données SQL Server dans VB à partir de MS Access?Lire les données d'une base de données SQL Server dans Visual Basic dans MS Access

J'ai une base de données SQL Server configurée et je fais les formulaires etc. dans Access. Maintenant, je dois lire une valeur booléenne et le faire dans VB.

Je voudrais le faire sans ouvrir une nouvelle connexion. Est-ce que c'est en quelque sorte possible?

+1

Avez-vous mis en place des tables liées? Quand vous dites VB, vous voulez dire VBA? – Fionnuala

+0

VBA est celui disponible dans Access, n'est ce pas? Donc voilà. VBA. J'ai mis en place des tables liées –

Répondre

0

Vous pouvez exécuter une requête sur une table liée. Pour autant que je sache, le choix habituel pour booléenne dans SQL Server est un peu:

SELECT dbo_Table1.ID, dbo_Table1.ABoolean 
FROM dbo_Table1 
WHERE dbo_Table1.ABoolean=True 

Dans MS Access, affiche vrai que -1 et dans SQL Server affiche comme 1.

La requête peut aussi être exécuté par VBA, si c'est ce que vous devez faire.

Dim rs As DAO.Recordset 

Set rs = CurrentDb.OpenRecordset("dbo_table_1") 
Do While Not rs.EOF 
    If rs!ABoolean = True Then 
     Debug.Print rs!ID 
    End If 
    rs.MoveNext 
Loop 

Ou

sSQL = "SELECT ID, ABoolean FROM dbo_table_1 WHERE ABoolean=True" 
Set rs = CurrentDb.OpenRecordset(sSQL) 
rs.MoveLast 
Debug.Print rs.RecordCount 

Ou

Debug.Print DLookup("Aboolean", "dbo_table_1", "ID=37") 
+0

Merci. Cela a aidé. Dois-je modifier mon code actuel dans OP? –

+0

Non, sauf si vous avez besoin de plus d'informations. – Fionnuala

Questions connexes