locked
Utilisation de "type" RRS feed

  • Discussion générale

  • Bonjour

    je suis en train de faire une macro en VB dans Access (2003).

    Je voudrais un exemple d'utilisation du "type" pour décrire un fichier texte, que je veux lire.

    J'ai essayé avec "input" et "get", mais j'obtiens une erreur.

    AD

    mardi 20 septembre 2011 09:09

Toutes les réponses

  • Bonjour Papyx,

    Vous vous trompez de forum, ici c'est pour la programmation avec Visual Basic (.Net)
    Je vous conseil d'aller voir sur http://social.msdn.microsoft.com/Forums/fr-FR/accessdevelopmentfr/threads qui serons plus aptes a répondre a vos questions

    (Un modérateur devrais faire le déplacement de votre poste vers le bon forum)

    A  une prochaine :)


    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn
    mardi 20 septembre 2011 09:39
    Auteur de réponse
  • Merci Xavier, mais ma question n'est pas spécifique à Access; elle concerne VB 2003
    mardi 20 septembre 2011 09:56
  • Pardon j'ai mal comprit

    Et je ne comprend toujours pas votre demande
    Aprioris vous cherchez a faire une Macro VBA dans Access (version 2003) a l'aide de VB .net 2003 ?

    Pouvez vous nous donner le code que vous avez deja fait voir ci cela me parlerais plus

     

    A bientot

     


    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn
    mardi 20 septembre 2011 10:54
    Auteur de réponse
  • pas avec VB.net, mais effectivement avec VBA.

    Voila une partie du code :

    Type enr

        film As String * 50

        repe As String * 30

        long As String

    End Type

    Sub test()

            Dim f$, nf,z$

            Dim rec As enr

        f$ = "C:\Documents and Settings\Admin.XPSP2-46E31CF49\Mes documents\Fichiers Texte\Liste des films sur I.lst"

        Open f$ For Input As #1

    '    Open f$ For Random As #1 Len = Len(rec)

    Do While Not EOF(1)    ' Effectue la boucle jusqu'à la fin du fichier.

        Input #1, z$   ' Lit les données dans des variables.

        Set rec = z$

    '    Get #1, , rec  ' Lit les données dans des variables.

        If Len(rec.long) > 0 Then        Debug.Print rec.film & "<"

    Loop

    End Sub

    mardi 20 septembre 2011 12:18
  • Bonjour Papy X,

     

    Personne ne veut de toi... "vade retro"... :o)

     

    Ceci (  *  ), string d'une longueur de 50 octets  :

     

    film As String * 50
    
    

    C'est VB 6

     

     

    Ici :

    http://social.msdn.microsoft.com/Forums/fr-FR/vb6fr/threads

     

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire

    • Modifié EhJoe mardi 20 septembre 2011 12:27 1 rajout
    mardi 20 septembre 2011 12:22
  • Bonjour,

    Comme le dit Xavier, ici c'est un foum VB.NET pas VBA

    Si vous voulez piloter ACCESS via VB.NET c'est le bon forum

    si vous vous écrire une macro VBA voici le bon forum:

    http://social.msdn.microsoft.com/Forums/fr-FR/accessdevelopmentfr/threads

     


    fred
    mardi 20 septembre 2011 12:22
  • Un modérateur pourra déplacer ce thread mais comme j'ai eu le même problème voici un exemple:

    Je te conseille de taper open dans l'éditeur de code VBA et de sélectionner le mot OPEN et de taper F1 qui donnera une explication et un exemple:

    Le voici:

    Open, instruction, exemple

    Cet exemple illustre différentes utilisations possibles de l'instruction Open pour permettre les opérations de lecture/écriture dans un fichier.

    Le code suivant ouvre le fichier FICHTEST en mode de lecture séquentielle.

    Open "FICHTEST" For Input As #1
    ' Ferme le fichier avant de l'ouvrir à nouveau dans un autre mode.
    Close #1
    

    Cet exemple ouvre le fichier en mode Binary (binaire) pour des opérations d'écriture uniquement.

    Open "FICHTEST" For Binary Access Write As #1
    ' Ferme le fichier avant de l'ouvrir à nouveau dans un autre mode.
    Close #1
    

    L'exemple suivant ouvre le fichier en mode Random (aléatoire). Ce fichier contient des enregistrements de type Record défini par l'utilisateur.

    Type Record    ' Désigne le type défini par l'utilisateur.
        ID As Integer
        Name As String * 20
    End Type
    
    Dim MyRecord As Record    ' Déclare la variable.
    Open "FICHTEST" For Random As #1 Len = Len(MyRecord)
    ' Ferme le fichier avant de l'ouvrir à nouveau dans un autre mode.
    Close #1
    

    Cet exemple de code ouvre le fichier en mode d'écriture séquentielle; n'importe quel processus peut lire ou écrire dans le fichier.

    Open "FICHTEST" For Output Shared As #1
    ' Ferme le fichier avant de l'ouvrir de nouveau dans un autre mode.
    Close #1
    

    Cet exemple de code ouvre le fichier en mode Binary (binaire) pour la lecture ; les autres processus ne peuvent pas le lire.

    Open "FICHTEST" For Binary Access Read Lock Read As #1
    

    fred
    mardi 20 septembre 2011 12:30
  • ok fred, mais je trouve la remarque ehjoe un peu excessive (à mois que ce soit une boutade!).

    PS. une modérateur va faire le transfert?  ou faut-il reposer la question?

    mardi 20 septembre 2011 12:34
  • A Fred

    Je suis passé par là au départ, mais en suivant l'exemple je n'ai pas eu plus de succès.

    Merci quand même.

    PS. je n'ai suivi aucune formation VB, et ai pratiqué uniquement avec l'aide VBA, aussi bien pour Excel que Acces. Ma seule formation est celle du cobol sur gros sytème (quand j'étais actif biensur).

    mardi 20 septembre 2011 13:10
  • Bonjour Papy X,

     

    Evidemment que je plaisantais, je suis désolé que ce ne fut pas pris ainsi, c'est de ma faute, je n'ai pas tenu compte de la déperdition des neurones, toutes mes excuses.

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    mardi 20 septembre 2011 14:16
  • salut ehjoe

    je me doutais que c'était une blague, mais peut-etre que t'as une réponse à ma question en tant que spécialiste VB6!

    (Toi, t'as encore toutes tes neurones)

     

    AD


    • Modifié papyx mardi 20 septembre 2011 15:19
    mardi 20 septembre 2011 15:18
  • Cher ami,

     

    Tu écris :

     

    je suis en train de faire une macro en VB 
    ...
    

    Donc tu ne veux pas programmer en vbNet ni en vbA.

     

    Ensuite tu donnes un exemple de ton code : qui est un code vb6.

     

    Par syllogisme c'est donc vers le forum VB6 qu'il faut se diriger...

     

    :o)

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    mardi 20 septembre 2011 16:46
  • Bonjour,

    Si tu entres du code vb dans Access, c'est forcément du VBA

    Je te conseille de taper F1 et de lire les chapitres d'introductions

    l'aide est bien faite

    sinon Google est ton ami

    par exemple:

    http://office.microsoft.com/fr-be/access-help/CH006366435.aspx?CTT=97

    http://www.commentcamarche.net/forum/affich-356713-macro-vba-sous-access

     

     


    fred
    • Modifié fred75 mardi 20 septembre 2011 21:06
    mardi 20 septembre 2011 21:03
  • Bonjour Fred,

     

    Je crois que VB couvre totalement ce que fais vbA, d'ailleurs le vbA ressemble beaucoup au vb6 (sauf s'il y a un nouveau vbA type vbNet ?), et que donc, avec vb (lato sensu) on doit pouvoir faire tout ce que fait vbA en invoquant l'objet puis en se servant de ses directives depuis un code vb, ça se fait avec Excel, avec Word, pourquoi pas avec la BDD Access...

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    mercredi 21 septembre 2011 05:46
  • Bonjour, Papyx,

    Vu que la discussion est sur un autre sujet que le sujet initial de votre question je crois qu’il est mieux reposter votre question dans le forum approprié. Je vais clôturer et verrouiller ce thread parce que la discussion a dégénéré un peu.

    Pour EhJoe : je sais que vous voulez aider les gens qui misent des questions sur le forum VB.Net et on vous remercie pour votre activité sur nos forums, mais parfois il faut comprendre que ces personnes peuvent être débutantes ou peuvent simplement faire une erreur. En plus, pas tout le monde comprend vos blagues et évidement ce n’est pas à cause « de la déperdition des neurones ». C’est la raison pour laquelle je vous invite lire l’étiquette sur les forums MSDN pour voir qu’on vous demande être respectueux sur nos forums. Merci d’avance de votre compréhension et collaboration.

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mercredi 21 septembre 2011 06:29