Se connecter avec
S'enregistrer | Connectez-vous

Soustraction dans Access

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte

Je m'explique.
Je dois récupéré des valeurs dans un tableau Excel mais celui-ci est en lecture seule. Donc j'ai essayé de faire une soustraction par automation (pour avoir ma bonne valeur) mais celui ci ne fonctionne pas car il faut enregistrer pour que l'opération soit prises en compte donc j'aimerais importer ces valeurs dans access afin de pouvoir faire une simple soustraction mais je veux garder une valeur c'est pour cela que j'ai plusieurs table. grnade précision chaque table a que une seule valeur c'est nécessaire de faire un recordset car je n'ai pas tout compris le fonctionnement, je ne vois pas comment faire des requete dessus.

J'explique en détail ce que je dois faire
  1. A - B = c

J'ai A, j'ai B et je dois calculer C et tout garder (A c'est en option)
A et B sont des valeurs dans une Cellule Excel que j'importe
a la fin A, B et C je dois les ajouter a une table existante donc la méthode que j'ai proposé n'est surment pas la bonne mais je vois pas comment je peux faire autrement je peux mettre une valeur d'un cellule Excel dans une variable il y aura pas de conflit?? si c'est le cas comment je remet ces valeures dans une table Access?

Ton problème est tout simple. Tu reprends la procedure automation.

Tu ouvres ton classeur source (ou tu as tes valeurs à récupérer)

  1. Dim wbfile as workbook
  2. Dim a as variant
  3. Dim b as variant
  4.  
  5. '...ouverture excel etc.
  6. set wbfile = Xls.workbooks.open("monclasseur.xls")
  7. ' Récupération de la valeur a
  8. a = wbfile.sheets("toto").range("A1")
  9. ' Récupération de B
  10. b = wbfile.sheets("toto").range("B1")
  11. ' On a les données voulues plus besoin excel
  12. wbfile.close False 'aucune modif
  13. set wbfile = nothing
  14. xls.application.close
  15. set xls = nothing
  16. ' verifie qu'on a des nombres
  17. if isnumeric(a) and isnumeric(b) then
  18. currentdb.execute "INSERT INTO MATABLE(VALEUR_A,VALEUR_B,VALEUR_C) SELECT " & _
  19. a & " as vA," & b & "as vB," & cdbl(a-b) & " as vDiff"
  20. end if


J'ai tapé ca à la va-vitedonc il peut y avoir des erreurs mais en gros c'est le principe. Donc oui tu peux récupérer des valeurs d'une cellules excels tout comme l'inverse, il n'y a aucun problème entre Excel et Access et c'est bien une des qualités principales de ses produits.
Lassé par la pub ? Créez un compte