Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3117 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Liaison de données SQL Server - Access + Date Access [resolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Liaison de données SQL Server - Access + Date Access [resolu]

n°739178
dpmy
Posté le 26-05-2004 à 10:23:59  profilanswer
 

Bonjour,
 
Je gère des formulaires sous Access XP avec des tables liées SQL server 2000, par une connexion ODBC.
J’ai des tables qui comporte des champs de type booléen (« bit » sous SQL Server)
 
Ex : j'ai trois tables liées à mon formulaire : ELEVE(noeleve,nom, prenom), PARLE(noeleve, nolangue, lu, ecrit, parle), LANGUE(nolangue, libelle).
Dans la table PARLE, les trois champs lu, ecrit et parle sont des booléens.
J'associe ces trois champs à des cases à cocher dans mon sous formulaire Access.
 
Dans ce sous-formulaire, je parviens à cocher les cases (lu, écrit, parlé) lors de la "création" de l'enregistrement de PARLE.
Mais si je veux mettre à jour la case à cocher (ex : je me suis trompée et je veux dire qu'un élève ne sait pas lire l'anglais), un conflit d'écriture survient et je ne peux pas mettre à jour le champ "lu" dans l'enregistrement.
 
Ce problème est-il dû à la liaison ODBC ? Y a-t-il une incompatibilité entre le type booléen de SQL server et le type booléen retranscrit sous Access ?
Savez-vous comment résoudre ce problème de conflit d'écriture ?


Message édité par dpmy le 27-05-2004 à 13:22:25
mood
Publicité
Posté le 26-05-2004 à 10:23:59  profilanswer
 

n°739775
alterisanz
Posté le 26-05-2004 à 13:35:29  profilanswer
 

Il n'y aucun pb de liaison. Moi même j'ai des tables liées avec des formulaires et ces tables SQL Server ont des liaisons ODBC avec Access.
Alors il faut que tu te débrouille seul...
Combiens de tables as-tu lié à ton formulaire ? Est-ce que tu a fait une liaison "directe" c'est a dire sur une table ou sur une requete ? As-tu lié ton champ "lu" à un champ d'une table SQL Server ?  
Vérifie si ta connexion a bien été faite, mais à priori si tu arrives à lire les données et à les modifier une fois cela ne vient pas de là. Essaie aussi de vérifier les droits (je ne sais pas s'il y en a lors d'une connexion ODBC) car le fait que tu peux entrer mais pas modifier ressemnle à un pb de ce type.
Essaie tout ça et donne plus de précision si tu veux une aide plus efficace.
Bonne chance

n°741147
dpmy
Posté le 27-05-2004 à 10:31:03  profilanswer
 


C'était bien un pb de type. En fait, sous sql server, le type booléen est à trois état : 0,1,null alors que sous Access les états sont -1,0 et vide.
C'est pour cela que lors de la mise à jour de ma table, j'ai eu ce problème de conflit d'écriture. Du coup, je ne gère plus de booléen mais des entiers.
 
En revanche, j'ai maintenant un problème du même ordre.  
Dans un formulaire, j'attache un recordsource de la manière suivante :
d = dateValue ("01/02/2000" )  
Me.recourdSource = "SELECT * FROM [table liée SQL server] WHERE date > " & d
Or, cela ne marche pas : mon formulaire affiche tous les enregistrements sans filtrer sur la date. (Je précise que j'ai converti la chaine en date parce que sinon, l'opération d'affectation du recordsource est annulée)  
Pourtant, dans SQL Server, si je tape ma requête en dur (select * from [table] where date >'01/02/2000'), j'ai bien la liste filtrée des enregistrements.  
Que dois-je faire pour appliquer le filtre date correctement ?

n°741305
alterisanz
Posté le 27-05-2004 à 11:48:46  profilanswer
 

Sous SQL Server tu mets ta date entre quote ( ' ) et bien sous Access il faut la mettre entre dièses ( # ). Cela donne

Code :
  1. SELECT * FROM MaTable WHERE Date > #01/02/2000#


 
J'ai déja eu le même pb, j'ai fait ça et ça marche nickel :)
Bonne Chance

n°741369
dpmy
Posté le 27-05-2004 à 12:09:20  profilanswer
 


Merci !! (Dire que j'ai cherché pdt 100 ans...)
Tu viens de me tirer une grande épingle du pied là !

n°741405
alterisanz
Posté le 27-05-2004 à 12:25:28  profilanswer
 

Je sais on m'avais dit une fois mais je l'ai oublié et j'ai du perdre pas mal de temps avant de retrouver l'info dans l'aide de MERDE de Access. Content que ça ait pu servir à kelk1.
Ce que tu peux faire pour que ça serve à d'autre, modifie le nom du topic et rajoute "Date Access" et "[Résolu]" comme ça si d'autres personnes ont le même pb elles n'auront qu'à faire une recherche


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Liaison de données SQL Server - Access + Date Access [resolu]

 

Sujets relatifs
type de données pascal vers c++[java] base de données et enregistrement
Un petit problème avec VBA Access[ HTML] - afficher date du jour dans menu de type "select"
utiliser une variable globale dans une fonction? [résolu]pb d'utilisation des thread sous linux - Résolu
[PHP] Une petite précision sur date()[resolu]rafraichir une page
Comment est traduit un saut de ligne dans un BD SQLCherche pro du SQL (pour sql injection challenge)
Plus de sujets relatifs à : Liaison de données SQL Server - Access + Date Access [resolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR