SFTOTAL : [IMPORT STOCKS _MINOS]. [QUANTITE]+ [IMPORT STOCKS _MAPICS]. [Quantit] Anne: Anne([Date envoi]) ou Anne: Format([Date envoi];"aaaa") Date envoi par mois: Format$([Factures].[Date envoi];'mmmm\ aaaa') TrimestreEnvoi: "Tr " & PartDate("t";[Date envoi]) Expr1: Anne([Factures].[Date envoi])*12+PartDate('m';[Factures].[Date envoi])-1 SELECT T_Client.NClient, T_Client.NomClient INTO Nxtable FROM T_Client;
Bonjour, J'ai une table saisie_donnes qui regroupe toutes les saisies (code_article, date, entres, sorties) et une requete qui appelle les donnes en fonction du critre code_article. L'objectif est d'avoir un tat qui affiche les entres, les sorties et un champ calcul qui affiche le rsultat 'stock= stock_dbut + [entres]-[sorties] ceci chaque ligne de l'tat. Avec la requete select je parviens runir les donnes mais le problme est d'avoir le champ calculer 'stock'
Voici les formules appropries (Source Microsoft). Bien entendu il faut les adapter votre situation.
Pour les recevoir, il faut d'abord crer 2 champs de type texte dans le pied de formulaire.
I maginons que vous dsiriez importer non pas une seule feuille Excel, mais toutes les feuilles d'un classeur. Comment faire ? Astuce aimablement envoye par Ludovic. Si vous dsirez plus d'explications concernant l'importation simple d'une feuilles Excel, c'est par ici. Mode d'emploi : - Dans la base de donnes Access dans laquelle vous dsirez importer l'ensemble de toutes les feuilles de calcul d'un fichier Excel, crivez le code suivant dans un module VBA, et excutez le. Le fichier Excel s'appelle ici C:\TOTO.XLS. Il faut bien videmment l'adapter votre situation. Sub ImportationGlobale Dim appXl As Excel.Application Dim intNbFeuille As Integer Dim intIndex As Integer Dim avarTabFeuille() As Variant Dim WorkSheet As Excel.WorkSheet Dim tdf As TableDef Set appXl = CreateObject("Excel.Application") intNbFeuille = 1
'OUVRE LE FICHIER .XLS ET TROUVE LERS DIFFERENTES FEUILLES With appXl .Workbooks.Open "C:\toto.xls" ReDim avarTabFeuille(.Worksheets.Count) For Each WorkSheet In .Worksheets avarTabFeuille(intNbFeuille) = WorkSheet.name intNbFeuille = intNbFeuille + 1 Next .Quit End With Set appXl = Nothing
'CREE UNE TABLE LINKEE POUR CHACUNES DES FEUILLES TROUVEES For intIndex = 1 To UBound(avarTabFeuille) fEntrer = False Set tdf = CurrentDb.CreateTableDef(avarTabFeuille(intIndex)) tdf.Connect = "Excel 5.0;DATABASE=" & Result tdf.SourceTableName = avarTabFeuille(intIndex) & "$" CurrentDb.TableDefs.Append tdf CurrentDb.TableDefs.Refresh Next End Sub
1. Re : Importer 100 fichiers excel dans 1 table Access bonsoir
Juste pour le Fun, voici une procdure qui boucle sur tous les classeurs d'un rpertoire sans les ouvrir et transfert les donnes de la Feuil1 vers une table Access (Table1).
L'exemple suppose que Tous les onglets portent le mme nom. Les classeurs sont structurs comme une vraie base (pas de donnes parpilles) et de structure identique la base Access (nombre de colonne et type de donnes adapts:date,texte,numerique...etc...)
la procdure ncessite d'activer la rfrence Microsoft ActiveX Data Objects x.x Library
Code : Sub tranfertFeuilleClasseursFermes_VersAccess() Dim Cn As New ADODB.Connection Dim oProdRS As New ADODB.Recordset, oRS As ADODB.Recordset Dim oConn As ADODB.Connection Dim j As Integer Dim Fichier As String, Repertoire As String
'------------------------------------------------------ 'Connection la Base Access Set oConn = New ADODB.Connection oConn.Open "Provider='Microsoft.Jet.OLEDB.4.0';" & _ "Data Source= 'C:\maBase.mdb';"
'les donnes seront placs dans Table1 Set oRS = New ADODB.Recordset oRS.Open "Select * from Table1", oConn, adOpenKeyset, adLockOptimistic '------------------------------------------------------
'Boucle sur les classeurs Excel du rpertoire cible Repertoire = "C:\Documents and Settings\mimi\dossier\general\excel\Nomdossier" Fichier = Dir(Repertoire & "\*.xls")
Do While Fichier <> "" 'Connection au classeur Excel Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Repertoire & "\" & Fichier & ";" & _ "Extended Properties=""Excel 8.0;"""
'requte pour extraire les donnes de la Feuil1 oProdRS.Open "SELECT * FROM [Feuil1$]", Cn, adOpenStatic
' --- Transfert des donnes dans la base --- Do While Not (oProdRS.EOF) oRS.addNew For j = 0 To oRS.Fields.Count - 1 oRS.Fields(j) = oProdRS.Fields(j).Value Next j oRS.Update oProdRS.moveNext
Loop '-------------------------------------------
oProdRS.Close 'Fermeture de la connection au classeur Excel Cn.Close Fichier = Dir Loop
oRS.Close Set oRS = Nothing 'Fermeture de la connection Access oConn.Close Set oConn = Nothing End Sub
SELECT Tonnages.Client, Sum(Tonnages.Volume) AS SommeDeVolume, Tonnages.numAnnee,convDate(Tonnages.numAnnee,[SemaineACalculer]) AS dateconvertie FROM Tonnages WHERE Tonnages.tDate>=DateAdd("ww",-4,dateconvertie) And ( Tonnages.tDate<dateconvertie) GROUP BY Tonnages.Client, Tonnages.tDate, Tonnages.numAnnee;
Définir Les Variables Et Afficher Leur Type Texte - Variable Bonjour Nombre - Entier - Variable 42 Nombre - Decimal - Variable 3.14 Printtype de La Variable Texte - Variable Typetexte - Variable