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

VB.NET Discussion :

Passer de VBA à VB 2008


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 19
    Par défaut Passer de VBA à VB 2008
    Bonjour,

    En son temps, j'avais un peu investi VBA pour Excel et je comprenais (à peu près !) ce que je faisais.

    J'ai donc développé une application (pointeuse) qui fonctionne bien. Le principe : on enregistre des heures dans une base Access à l'aide de connexion ADO, et on fait des récapitulations à l'aide d'un tableau croisé dynamique Excel.

    L'utilisation de Excel par contre ne présente aucun intérêt pour la saisie, d'où l'idée de passer tout ça sous VB 2008.

    Comme je n'ai pas beaucoup de temps pour tout comprendre dans VB 2008 ,à l'aide de copier coller, je transfert le code VBA dans l'éditeur VB, en apportant les corrections si nécessaire. Un problème se pose, que je n'arrive pas à résoudre : j'ai une erreur "propriété 'Item' est Readonly" lorsque je veux affecter une valeur à un recorset.Voici le code :
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
        Private Sub Pointer()
            Me.TextBox1.Focus()
            On Error GoTo ErreurOuvertureFichier
     
            Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & _
                      "Data Source=" & Chemin & Fichierbase & ";" & _
                      "Jet OLEDB:Database Password=" & MotPasse)
     
            On Error GoTo 0
     
            Rst.Open("Select * from [Agents]", Conn)
            Rst.Filter = "Code LIKE '" & CodeBarre & "'"
     
            If Rst.RecordCount = 1 Then
     
                Me.Label1.Text = Rst(2)
                Me.Label1.BackColor = Color.Green
     
                Numjour = Int(Now - CDate("1/1/" & Year(Now))) + 1
                NumAgent = Year(Now) & "-" & Format(Numjour, "000") _
                    & "-" & Format(Rst(0), "00")
                Rst.Close()
     
                Rst.LockType = ADODB.LockTypeEnum.adLockOptimistic
                Rst.Open("Select * from [Base]", Conn)
     
                Rst.Filter = "Code LIKE '" & NumAgent & "%" & "'"
     
                Select Case Rst.RecordCount
                    Case 0
                        Rst.AddNew()
                        Rst(0) = NumAgent & "-01"
                        Rst(1) = Now
                        Rst.Update()
                        Texte = "Début du service : "
                        son = "BeepOkDébut"
                    Case Else
                        Rst.MoveLast()
                        If Rst(2) Is Nothing Then
                            Rst(2) = Now
                            Rst.Update()
                            Texte = "Fin du service  : "
                            Son = "BeepOkFin"
                        Else
                            Numpointage = Rst.RecordCount + 1
                            Rst.AddNew()
                            Rst(0) = NumAgent & "-" & Format(Numpointage, "00")
                            Rst(1) = Now
                            Rst.Update()
                            Texte = "Début du service : "
                            Son = "BeepOkDébut"
                        End If
                End Select
     
                Me.Label2.Text = Texte & Format(Now, "hh:mm")
                'Run (son)
     
                Rst.Close()
                Conn.Close()
                Me.TextBox1.Focus()
     
                Exit Sub
     
            Else
                Me.Label1.Text = "Carte non reconnue. Recommencez"
                Me.Label1.BackColor = Color.Red
                Run("BeepPasOk")
     
                Rst.Close()
                Conn.Close()
     
            End If
     
            On Error Resume Next
            Rst.Close()
            Conn.Close()
            Me.TextBox1.Focus()
            Exit Sub
     
    ErreurOuvertureFichier:
            MsgBox("Ouverture du fichier de données impossible." & vbCrLf & _
                "Contactez l'administrateur")
            Exit Sub
     
     
        End Sub
    qui me provoque cette erreur pour les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                        Rst(0) = NumAgent & "-01"
                        Rst(1) = Now
    Pourriez vous m'aider ? Merci

    Olivier

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 19
    Par défaut
    J'ai trouvé la réponse à ma question. Je la poste si ça peut intéresser quelqu'un :

    Il faut préciser :


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passer du VBA au HTA ou VB.Net
    Par Drouc dans le forum Général VBA
    Réponses: 0
    Dernier message: 29/12/2014, 00h46
  2. Format mar en Mar sans passer par vba
    Par patrick55 dans le forum Excel
    Réponses: 2
    Dernier message: 19/03/2008, 18h16
  3. Réponses: 7
    Dernier message: 04/05/2007, 12h20
  4. Réponses: 1
    Dernier message: 03/05/2007, 07h49
  5. Réponses: 1
    Dernier message: 02/05/2007, 15h08

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