Bonjour à tous

Je butte depuis plusieurs jours sur un problème de connexion avec Sql 2005 Express. Quand j'utilise mon application access dans un domaine avec Active Directory (connexion Authentification Windows) mon application (Access 2007 avec table attachées) arrive à attaquer ma base SQL Server sans problème et les liaisons des tables sont rafraichies sans soucis.

Quand je passe sur un workgroup (sans active directory donc) avec des ordis en Windows XP Pro et Windows Vista Home , je n'arrive pas à raffraichir les liaisons quand bien meme que j'aie déclaré une connexion Sql Server (utilisateur et mdp) en utilisant une authentification SQL Server.

J'ai essayé plusieurs solutions en parcourant les différents forums mais je suis perdu.

Quelqu'un a til une solution à me proposer ?

Merci par Avance

Pour plus de precision voici mon code

Code :

If Tok = 1 Then
'----- Table déjà attachée
Select Case DBSYS(TABBASE(I))
Case 1
'Base Access
NEWCONNECT = ";DATABASE=" & DBNOM(TABBASE(I))
Case 2
'Base Base SQL Serveur Avec Active Directory

NEWCONNECT = "ODBC;DRIVER=" & DBDRV(TABBASE(I)) & ";SERVER=" & DBSRV(TABBASE(I)) & ";Trusted_Connection=Yes;DATABASE=" & DBNOM(TABBASE(I)) & ";"

'Base Base SQL Serveur Sur workgroup avec connection SQL Server
Case 3
NEWCONNECT = "ODBC;DATABASE=" & DBNOM(TABBASE(I)) & ";UID=USERCON;PWd=userconnect;DSN=USERCON"

End Select

'----- Rafraichissement Connexion
If dbc.TableDefs(TABNAME).Connect <> NEWCONNECT Then
On Error Resume Next
dbc.TableDefs(TABNAME).Connect = NEWCONNECT
dbc.TableDefs(TABNAME).SourceTableName = TABNAME
dbc.TableDefs(TABNAME).RefreshLink
End If
Else
'----- Nouvelle Table attachée
Set TblDef = dbc.CreateTableDef(TABNAME)
Select Case DBSYS(TABBASE(J))
Case 1
'Base Access
NEWCONNECT = ";DATABASE=" & DBNOM(TABBASE(J))
Case 2
'Base Base SQL Serveur Avec Active Directory

NEWCONNECT = "ODBC;DRIVER=" & DBDRV(TABBASE(J)) & ";SERVER=" & DBSRV(TABBASE(J)) & ";Trusted_Connection=Yes;DATABASE=" & DBNOM(TABBASE(J)) & ";"


'Base Base SQL Serveur Sur workgroup avec connection SQL Server
Case 3
NEWCONNECT = "ODBC;DATABASE=" & DBNOM(TABBASE(I)) & ";UID=USERCON;PWd=;DSN=USERCON"
End Select
TblDef.Connect = NEWCONNECT
TblDef.SourceTableName = TABNAME
dbc.TableDefs.Append TblDef
End If


Et plus de precisions

J'ai une table qui contient le nom des tables attachées.
Ma routine se lance au demarrage de mon aplication avec trois cas.

1) Si la table attachée est dans une base access alors cas N°1


2) Si elle est dans une base SQl server et que je me trouve sur un reseau avec Active direcory alors cas N°

3) Si elle est dans un base Sql Server et que je me trouve sur un Workgroup alors Case n° 3

Si elle n'est pas encore attachée alors création puis attache en fonction de la base.

Il faut savoir que je debute en SQL et que je me melange les pinceaux au niveau ODBC.

Quand je lance ODBCAD32 je ne sais pas s'il faut créer le DNS dans

- Sources de données utilisateur
Ou
- Sources de données système
Ou
- Sources de données fichier

Ma DNS "USERCON" a été créer dans source de données utlisateur.
Dans la base SQL Server stockée sur SQLSVR\Express contient une connexion SQL Server "USERCON" avec comme mdp "userconnect" mappée sur ma base de données.

Quand je fais le test de connexion dans ODBCAD32 il me dit que le test a reussi. Par contre quand le programme est sur le cas N° 3 ou que je veux ouvrir une table qui est attachée dans ma base il me dit
ODBC --- Echec de la connexion à "USERCON" alors que ma connexion a des droits accordée par sa en et appartient au schema dbo.

En resumé JE SUIS PERDU..