Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2011, 11h42   #1
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
Par défaut Liaison Access-SQL Server

Bonjour à tous,

J'ai une application dévéloppé sur Access 2003 qu'utilise une base de donnés SQL Server.

Dans cette applications j'ai des Tables et des Views SQL Server qui sont liées liées à ma base Access, mais j'aimerais aussi pouvoir lier une Fonction (Table-valued Function), qui n'est qu'une View avec un parametre, mais je n'arrive pas à le faire

Est-ce que c'est possible de faire cette liaison ou je dois refaire cette Fonction dans Access?

Merci d'avance pour vos reponses
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 15h09   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
bonjour,

il s’agit bien d’un projet Access .adp ??

Bien que cela concerne davantage le Transact SQL de SQLServer, quel est le code actuel de cette fonction (FUNCTION) ou procédure (PROCEDURE) ?
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 09h40   #3
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
Bonjour f-leb, merci de ta réponse.

Il s'agit en fait d'une "application" .mdb qui fonctione avec une base SQL Server. Je m'explique:

Une de mes tables SQL Server possede l'historique des contrats de chaque collaborateur. (id, collab, date_debut, date_fin, cod_bureau, responsable), par exemple:
Citation:
id......collab......date_debut.........date_fin.........cod_bureau.......responsable
1........15.........05/04/2007.......04/11/2009...........1......................True
2........37.........10/07/2008...........NULL................10....................False
3........15.........05/11/2009...........NULL................15....................True
4........48.........03/05/2007.......04/09/2009...........15.....................True
Ici j'ai le collab 15 qui a changé de bureau le 5/11/2009 et le collab 48 qui est sorti de l'entreprise le 4/9/2009. A chaque changement de une de ces caracteristiques je fais une nouvelle ligne.

J'ai fait une fonction qui me renvoi une "table de contrats" à une date @DAT (dans SQL Server):
Code sql :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
CREATE FUNCTION [dbo].[DRH_T_effectif]
 (
       @DAT DATETIME
 )
 RETURNS @T_effectif TABLE
 (
	id int
	collab char(6)
    date_debut datetime   
	date_fin datetime  
	cod_bureau smallint
	responsable bit
 )  
 
 BEGIN
 
       INSERT INTO @T_effectif(id, collab, date_debut, date_fin, cod_bureau, responsable)
       SELECT
             id, collab, date_debut, date_fin, cod_bureau, responsable
       FROM
             DRH_T_histoire
       WHERE
            (@DAT BETWEEN date_debut AND date_fin) OR 
			(date_debut<=@DAT AND date_fin IS NULL)
       RETURN
 END
Cette fonction marche bien dans SQL Server, mais je voudrais l'utiliser aussi dans ma application Access pour avoir une table des collaborateurs à une date donnée. Par exemple:
Code sql :
SELECT * FROM DRH_T_effectif('28/03/2009')

Est-ce que c'est possible de le faire?
Je sens que ce qui je cherche à faire est proche d'une requete paramétré (dans Access), mais l'utilisation de ces fonctions je trouve plus simple que l'utilisation des requetes paramétrés d'Access, et en plus j'ai déjà la fonction faite dans ma base SQL Server...

Merci encore une fois
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 11h24   #4
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
Bonjour,

Code sql :
SELECT * FROM DRH_T_effectif('28/03/2009')

Tu as essayé de passer cette requête en mode "SQL direct" ?

Comment faire pour créer une requête SQL directe dans Access

Citation:
Les requêtes SQL directes permettent d'envoyer directement des commandes à un serveur de base de données ODBC. À l'aide d'une requête SQL directe, vous travaillez directement avec les tables du serveur au lieu de confier le traitement des données au moteur de base de données Microsoft Jet.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 15h05   #5
Membre chevronné
 
Inscription : septembre 2008
Messages : 798
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2008
Messages : 798
Points : 674
Points : 674
Il marche. Très bien pensé f-leb.


Merci beaucoup de votre aide
Marc_27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h11.


 
 
 
 
Partenaires

Hébergement Web