IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modélisation Discussion :

Mise en place base de données


Sujet :

Modélisation

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    cadre technico médical
    Inscrit en
    Mai 2016
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : cadre technico médical

    Informations forums :
    Inscription : Mai 2016
    Messages : 36
    Points : 29
    Points
    29
    Par défaut Mise en place base de données
    Bonjour.

    Avant de partir dans une "usine à gaz", je voulais avoir votre avis sur comment démarrer ma base se données.

    Je m'explique:

    J'ai une caisse enregistreuse qui me sort un ticket journalier avec le chiffre d'affaire brut, net, mon fond de caisse de début et de fin de journée etc... mais surtout le total des différentes TVA des articles vendus dans la journée. Ce ticket génère un fichier .TXT sur une carte mémoire (que je peux facilement exporter).

    Si ma caisse totalise bien ces différentes TVA en fin de journée, elle ne le fait pas en fin de mois (validé par le fournisseur: je n'ai pas payé assez cher pour avoir cette facilité). Ce qui fait la joie de mon comptable qui doit additionner tous les tickets journaliers, avec les différentes TVA séparément, et ce chaque trimestre afin que je puisse rembourser la TVA perçue.

    En résumé, j'ai donc chaque jour un .TXT (nommé EJDDMMAA.txt -EJ étant fixe-) qui me donne les informations dont j'ai besoin, mais ne sait pas trop comment m'y prendre pour démarrer ma base. Je précise que le nombre de lignes est différent chaque jour, mais les en-tête sont toujours les mêmes. Mais là, je vais peut-être déjà trop loin dans le détail).
    Je joins un fichier pour exemple: ce qui m'importe, pour l'instant, est la dernière partie du ticket à partir de CA BRUT, CA NET et les différentes TVA

    Je fais appel à vous, à votre expérience. Peut-être avez-vous une façon de voir les choses que je n'ai pas.

    (PS: je pensais aussi à Excel, bien sûr, mais en passant par Access, je pourrais aussi gérer mes stocks: mais ceci n'est pas l'essentiel pour l'instant)

    Bien à vous
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Une façon de faire est de construire une table reprenant chaque ticket dans un champ de type "texte long", et sur cette base récupérer les diverses valeurs sur base de recherche avec les mots clés "TVA 1", "TVA 2", etc.

    Une façon de faire pour récupérer les textes des tickets, en supposant que tous ces fichiers sont dans le même dossier que l'application:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    Sub ChargerFichiersTicket()
        Dim FSO As Object, objFolder As Object
        Dim objFile As Object, objText As Object
        Dim sFileName As String, sTxt As String, sSQL As String
        Dim sTxtA As String, sTxtB As String, sTxtC As String
        Set FSO = CreateObject("Scripting.FileSystemObject")
        Set objFolder = FSO.GetFolder(CurrentProject.Path)
        With CurrentDb
            '.Execute "DELETE * FROM tTck", dbFailOnError            '--- efface tout, utilisé pour tests
            For Each objFile In objFolder.Files
                If objFile.Name Like "EJ*.txt" Then
                    Set objText = FSO.OpenTextFile(objFile.Name, 1)
                    If DCount("TckNom", "tTck", "TckNom='" & objFile.Name & "'") = 0 Then
                        sTxt = objText.readall
                        sTxtA = Mid(sTxt, 27, 78)
                        sTxtB = Mid(sTxt, 183, Len(sTxt) - 597 - 183 - 27)
                        sTxtC = Mid(sTxt, Len(sTxt) - 597, 520)
                        sSQL = "INSERT INTO tTck (TckNom, TckTxt, TckTxtA, TckTxtB, TckTxtC)" & _
                               " VALUES ('" & objFile.Name & "', '" & sTxt & "', '" & sTxtA & "', '" & sTxtB & "', '" & sTxtC & "');"
                        .Execute sSQL, dbFailOnError
                    Else
                        '--- normalement inutile vu que ces fichiers ne changent pas
                        'sSQL = "Update tTck SET TckTxt = '" & objText.readall & "' WHERE TckNom = '" & objFile.Name & "';"
                        '.Execute sSQL, dbFailOnError
                    End If
                End If
            Next objFile
        End With
        Set objText = Nothing
        Set objFile = Nothing
        Set objFolder = Nothing
        Set FSO = Nothing
    End Sub
    et pour ensuite retrouver les totaux journaliers, un exemple de fonction permettant cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Function TVA1Jour(s As String) As Currency
        Dim k1 As Long, k2 As Long, v As String
        k1 = InStrRev(s, "TVA 1")
        k1 = InStr(k1, s, "€")
        k2 = InStr(k1, s, vbLf)
        v = Mid(s, k1 + 1, k2 - k1)
        TVA1Jour = Replace(v, ".", ",")
    End Function
    A adapter, compléter, améliorer.
    Cordialement.
    Fichiers attachés Fichiers attachés

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    cadre technico médical
    Inscrit en
    Mai 2016
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : cadre technico médical

    Informations forums :
    Inscription : Mai 2016
    Messages : 36
    Points : 29
    Points
    29
    Par défaut Bonsoir
    ... et merci pour le retour ! Sympa !

    J'ai ouvert la base jointe: c'est exactement cela !

    (petit ?) problème: Access me met ticket introuvable. Ils sont pourtant dans le même dossier.

    Je cherche de mon côté: ça m'intéresse +++ !

    Bien à vous

Discussions similaires

  1. Mise en place base de données
    Par delbosquet1 dans le forum Windev Mobile
    Réponses: 0
    Dernier message: 13/10/2014, 19h55
  2. [Cours pt-05]Moteur de mise à jour de base de données
    Par Papy Turbo dans le forum Sondages et Débats
    Réponses: 38
    Dernier message: 29/10/2007, 19h02
  3. mise a jour base de donné
    Par christi dans le forum ASP.NET
    Réponses: 6
    Dernier message: 23/02/2007, 09h31
  4. [mise a jour] base de donnée access
    Par escobar dans le forum Access
    Réponses: 11
    Dernier message: 17/07/2006, 10h12
  5. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo