2010-05-21 6 views
1

J'ai déplacé mon application d'accès de DAO vers une connexion ADO. Ca marche mieux mais je rencontre un problème quand j'entre une valeur dans le champ d'un formulaire puis j'appuie sur l'onglet l'écran me conduit aux premiers champs du formulaire et je perds mon contrôle d'activité qui est le contrôle du champ dans lequel j'entre la valeur. NB: Si je cliqué sur le curseur à l'aide de la souris après l'application de la valeur dans le champ spécifié, il fonctionne correctement ...Bouton ADO Access Tab

Toute aide sera très appréciée

+1

Juste curieux, comment votre application fonctionne-t-elle mieux avec ADO? Quels avantages avez-vous obtenus? –

+0

Pouvez-vous montrer quels événements utilisez-vous dans le champ du formulaire? S'il y en a, montrez-nous du code, s'il vous plaît. – hgulyan

Répondre

0

J'ai toujours trouvé ADO à mieux, plus simple , code plus rapide que DAO.

Dim rst as new ADODB.recordset 
rst.open "Select * from employees", CnnString 

Je veux dire - c'est juste moins verbeux que ce dont vous avez besoin dans DAO.

+0

Comment est-ce plus simple que DAO? Je peux le faire dans DAO: 'lngNewID = CurrentDB.OpenRecordset (" SELECT @@ IDENDITY ") (0)' - c'est une ligne de code, alors que la vôtre est deux. Je peux ouvrir un jeu d'enregistrements DAO dans deux lignes de code, également: 'Dim rs As DAO.Recordset/Définir rs = DBEngine (0) (0) .OpenRecordset (" SELECT * FROM employees; ")'. DAO et ADO sont différents dans la façon dont vous faites les choses, mais ni l'un ni l'autre n'est plus ou moins verbeux que l'autre. La principale différence est que lorsque vous travaillez avec des données Jet/ACE, DAO est une interface directe, l'interface native, et prend en charge plus de fonctionnalités et est plus rapide. –

+0

Lorsque vous travaillez avec des données non-Jet/ACE, la combinaison performance/fonctionnalités peut être différente ou non. Et nous programmons en dehors d'Access, il est très probable qu'il soit plus simple d'utiliser ADO/OLEDB. –