OVH Cloud OVH Cloud

Migration .mdb vers .adp

3 réponses
Avatar
Bernard SC
Bonjour,
Je suis en train d'effectuer la dernière étape de la migration d'une
application .mdb vers un projet .adp (pour la rendre plus robuste en
multi-utilisateurs).
-toutes les données ont été migrées dans une base de données SQL-Server
-j'importe bien tous les formulaires, états, requêtes dans le .adp

Juste un petit problème: j'utilise une fonction déclarée en Public comme
critère dans une requête. Dans le mdb pas de problème. Avec adp j'obtiens
"fonctionxxx n'est pas un nom de fonction reconnu" à l'exécution de la
requête.

Une idée ?

Bernard

3 réponses

Avatar
Maxence HUBICHE [MVP Access]
tu ne peux créer de fonction dans ta version de SQLServer ?


--
=================================================== Maxence Hubiche
Microsoft Access MVP
Responsable Rubrique Access sur http://www.developpez.com
La FAQ Access (503 Q/R) http://access.developpez.com/faq
Mon site perso : http://www.access-maxence.com
====================================================
Avatar
Bernard SC
"Maxence HUBICHE [MVP Access]" a écrit dans
le message de news: O6cKBDc$
tu ne peux créer de fonction dans ta version de SQLServer ?



Je ne comprends pas bien la question...

La fonction que je veux utiliser doit servir à définir un critère de
filtrage de la requête.

En l'occurrence, il s'agit de sélecter des données de travail liées à un
utilisateur, rangées dans une table dont une colonne contient le nom de
l'utilisateur.
Le nom de l'utilisateur est obtenu, sur le poste client, par cette fonction
(définie dans un Module).
Public Function utilisateur() As String
utilisateur = Environ("USERNAME")
End Function

Dans un projet Access (.adp) les requêtes sont des procédures stockées dans
SQL-Server. Mais comment leur passer un critère en paramètre ?

Avatar
Maxence HUBICHE [MVP Access]
Bonjour,

Maxence Hubiche :
tu ne peux créer de fonction dans ta version de SQLServer ?

Bernard SC :

Je ne comprends pas bien la question...


erf ! :s
Ca ne va pas aider :)

La fonction que je veux utiliser doit servir à définir un critère de
filtrage de la requête.

En l'occurrence, il s'agit de sélecter des données de travail liées à un
utilisateur, rangées dans une table dont une colonne contient le nom de
l'utilisateur.
Le nom de l'utilisateur est obtenu, sur le poste client, par cette
fonction (définie dans un Module).
Public Function utilisateur() As String
utilisateur = Environ("USERNAME")
End Function

Dans un projet Access (.adp) les requêtes sont des procédures stockées
dans SQL-Server. Mais comment leur passer un critère en paramètre ?


Cher ami, il te faut apprendre un minimum du TRANSACT SQL et de SQL Server
!!!
Pour qu'une procédure stockée ait un paramètre :
CREATE PROCEDURE MonEmploye
@EmployeID int,
AS
SELECT * FROM tblEmployes Where empID = @EmployeID

Voici une procédure stockée avec un parametre @EmployeID.
Pour l'utiliser (sur le principe SQL SERVER) :

EXEC MonEmploye 2

te renverra l'ensemble des informations relatives à l'employé N°2

Pour ce qui concerne le VBA (par exemple) jette un coup d'oeil du cote de
'Parameters'.
Tu devrais y trouver ton bonheur.
Tu auras également plusieurs tutoriels d'excellente facture sur les ADO sur
http://www.developpez.com

Pour ce qui est de récupérer l'utilisateur actuellement connecté, de
mémoire, ce doit etre la fonction USER_NAME qui te renvoie cette
information.


Ces informations te conviennent-elles ?


Tu réussira ainsi à récupérer directement l'utilisateur connecté à la base
...
de mémoire, c'est