Conversion base Acess vers SQL

Résolu
ordilibre -  
blux Messages postés 27850 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Me voilà confronté à la transcription d'une BDD Access vers SQL.
Tout va bien concernant les tables et les vues.
Par contre, dans access, je disposais de fonctions en VBA qui me permetaient d'insérer dans une colonne d'une requête un calcul du genre:

function qté (CA as double, Qté as double, qté2 as double) as double
if CA<0 et Qté>0 then qté=qté2
end function

Il me suffisait alors dans la requête Access, d'utiliser la fonction "qté (Ca, Qté, qté2)" dans une colonne et le tour était joué.

Comment puis-je reproduire ce principe dans SQL? Dois je utiliser plutot les "fonctions définies par utilisateur" ou les "procédures stockées"? Comment s'en servir dans les vues?

Ou puis je trouver un site claire présentant le sujet?

Merci d'avance de vos tuyaux et bonne journée.
A voir également:

8 réponses

Polux31 Messages postés 7219 Statut Membre 1 204
 
Bonjour,

Dans la barre de menu Access -> Outils -> Utilitaires de base de données -> Assistant de migration SQL Serveur, puis suivre les instructions.

;o)

Polux
4
blux Messages postés 27850 Date d'inscription   Statut Modérateur Dernière intervention   3 360
 
Bonjour,

SQL n'est pas une base de données, mais un langage d'interrogation...

Nous ne pourrons pas t'aider tant que tu ne nous auras pas dit vers quel SGBDR tu veux migrer :

ORACLE, SQL Server, MySQL, DB2, Ingres, Informix...?
1
ordilibre
 
Oui, biensûr. Il s'agit d'une migration vers SQL server.
1
deus Messages postés 93 Statut Membre 91
 
Salut,

a priori tu peux utiliser une User Defined function pour faire ça.
Si tu as Sql Server tu as probablement le BookOnline (fais F1 à partir du Entreprise Manager/query analyser).
C'est assez complet.
pour info voilà un exemple qui s'y trouve et qui pourrait t'aider:

CREATE FUNCTION ISOweek (@DATE datetime)
RETURNS int
AS
BEGIN
DECLARE @ISOweek int
SET @ISOweek= DATEPART(wk,@DATE)+1
-DATEPART(wk,CAST(DATEPART(yy,@DATE) as CHAR(4))+'0104')
--Special cases: Jan 1-3 may belong to the previous year
IF (@ISOweek=0)
SET @ISOweek=dbo.ISOweek(CAST(DATEPART(yy,@DATE)-1
AS CHAR(4))+'12'+ CAST(24+DATEPART(DAY,@DATE) AS CHAR(2)))+1
--Special case: Dec 29-31 may belong to the next year
IF ((DATEPART(mm,@DATE)=12) AND
((DATEPART(dd,@DATE)-DATEPART(dw,@DATE))>= 28))
SET @ISOweek=1
RETURN(@ISOweek)
END


ciao
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ordilibre
 
Un grand merci.

C'est effectivement comme cela que je vais m'y prendre.
Après une matinée de recherche, j'ai finalement trouvé.
J'ai buté un moment sur la définition d'une variable qui nécessite un @ dans sql server. C'est bête mais encore faut il le savoir.

Merci pour le lien vers l'aide.
0
archnumrtt
 
salut

j'ai une base de donnee access je veux la convertir en sql server pouvez vous m'aider

merci
archnumrtt
a+
0
ALT
 
Bonjour a tous,
Je souhaite exploiter une base de donnée access sur PHP

Est il possible de la part de php de travailler avec access
Le but final est de creer un site web dynamiques pour exploiter ma base access
Merci
0
blux Messages postés 27850 Date d'inscription   Statut Modérateur Dernière intervention   3 360
 
Oui, tu peux accéder à ta base access via odbc sous php

https://www.php.net/odbc
0