Conversion base Acess vers SQL

Résolu
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.

8 réponses

  1. 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
    1. 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
      1. salut

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

        merci
        archnumrtt
        a+
        1. 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.
          1. 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
            1. Modérateur
              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...?