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

VBA Access Discussion :

lire les données d'une table liée


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 13
    Points : 8
    Points
    8
    Par défaut lire les données d'une table liée
    bonjour à tous,
    je dispose de 2 bases access, une nomme KGSDATA avec les tables et l'autre KGS mais j'ai toujours une erreur avec le message "KGDData.mdb non trouvé" alors je voulais savoir à quel niveau il y a erreur. merci

    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
    Option Compare Database
    Option Explicit
    Dim KAVE As Workspace
    Dim dbsDb As Database
    Dim db As DAO.Database
    Dim Abscen As DAO.Recordset
    Dim Abscen1 As DAO.Recordset
    Dim Abscen2 As DAO.Recordset
    Dim AN As DAO.Recordset
    Dim i As Integer
    Dim St As String
    
    Private Sub Form_Load()
    
    Set KAVE = DBEngine.Workspaces(0)
    Set dbsDb = DBEngine.Workspaces(0).OpenDatabase("KGDData.mdb")
    Set db = CurrentDb()
    Set Abscen = db.OpenRecordset("Abscence", dbOpenTable)
    Set Abscen1 = db.OpenRecordset("AbscenceT", dbOpenTable)
    
    Set AN = db.OpenRecordset("Annee", dbOpenTable)
    
    If AN.RecordCount <> 0 Then
    AN.MoveLast
    Me.Anneescol = AN!Anneescol
    End If
    Me.PERIODE.SetFocus
    End Sub

  2. #2
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.
    je dispose de 2 bases access, une nomme KGSDATA avec les tables et l'autre KGS mais j'ai toujours une erreur avec le message "KGDData.mdb non trouvé" alors je voulais savoir à quel niveau il y a erreur.
    Si tu n'as pas fait d'erreur de transcription, tu tentes d'ouvrir "KGDData.mdb" alors que la table se nomme KGSDATA!

    Si c'est juste une faute d'orthographe dans le post, alors fait un compactage de la base qui contient les tables.
    Cordialement.
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 13
    Points : 8
    Points
    8
    Par défaut lire les données d'une table liée
    j'ai corrigé l'erreur et compacter la base mais j'ai une nouvelle erreur

    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
    Option Compare Database
    Option Explicit
    Dim KAVE As Workspace
    Dim dbsDb As Database
    Dim db As DAO.Database
    Dim Abscen As DAO.Recordset
    Dim Abscen1 As DAO.Recordset
    Dim Abscen2 As DAO.Recordset
    Dim AN As DAO.Recordset
    Dim i As Integer
    Dim St As String
    
    Private Sub Form_Load()
    
    Set KAVE = DBEngine.Workspaces(0)
    Set dbsDb = DBEngine.Workspaces(0).OpenDatabase("KGSData.mdb")
    Set db = CurrentDb()
    Set Abscen = db.OpenRecordset("Abscence", dbOpenTable)
    Set Abscen1 = db.OpenRecordset("AbscenceT", dbOpenTable)
    
    Set AN = db.OpenRecordset("Annee", dbOpenTable)
    
    If AN.RecordCount <> 0 Then
    AN.MoveLast
    Me.Anneescol = AN!Anneescol
    End If
    Me.PERIODE.SetFocus
    End Sub

  4. #4
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Et quel est le message d'erreur?
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 13
    Points : 8
    Points
    8
    Par défaut lire les données d'une table liée
    voilà le message d'erreur qui est le suivant:

    Erreur d'exécution '3251'
    opération non autorisée pour ce type d'objet

    après le débogage il y a cette page


    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
    Private Sub Codeclas_AfterUpdate()
    If IsNull(Me.Anneescol) Or IsNull(Me.PERIODE) Then
    Beep
    MsgBox "Il faut vérifier l'année ou la période"
    Me.Codeclas = ""
    Exit Sub
    End If
    St = "select Eleve.matel,Eleve.Nomel,Eleve.Prenomsel,Inscription.CodeClas,Inscription.Anneescol " & _
    " From Eleve, Inscription " & _
    " Where Eleve.Matel=Inscription.Matel " & _
    " And Codeclas='" & Me.Codeclas & "'" & _
    " And Anneescol='" & Me.Anneescol & "'" & _
    " Order by Eleve.Nomel,Eleve.Prenomsel"
    Set Abscen2 = db.OpenRecordset(St)
    If Abscen2.RecordCount <> 0 Then
    Abscen2.MoveLast
    Abscen2.MoveFirst
    db.Execute "delete * from AbscenceT"
    While Not Abscen2.EOF
    Abscen1.AddNew
    Abscen1!Anneescol = Me.Anneescol
    Abscen1!Trimestre = Me.PERIODE
    Abscen1!Codeclas = Me.Codeclas
    Abscen1!Matel = Abscen2!Matel
    Abscen1!NomPrenoms = Abscen2!Nomel & " " & Abscen2!Prenomsel
    Abscen1!NbAbs = 0
    Abscen1!AbsJ = 0
    Abscen1!AbsNJ = 0
    Abscen1.Update
    Abscen2.MoveNext
    Wend
    End If
    Abscen1.MoveFirst
    While Not Abscen1.EOF
    Abscen.Index = ""
    'Abscen.Index = "Primarykey"
    Abscen.Seek "=", Me.Anneescol, Me.PERIODE, Abscen1!Matel
    If Abscen.NoMatch = False Then
    Abscen1.Edit
    With Abscen1
    !NbAbs = Abscen!NbAbs
    !AbsJ = Abscen!AbsJ
    !AbsNJ = Abscen!AbsNJ
    Abscen1.Update
    End With
    End If
    Abscen1.MoveNext
    Wend
    Me.ZONESAISIE.Requery
    Me.ZONESAISIE.SetFocus
    End Sub

  6. #6
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Sauf erreur de ma part, les Recordset de type table ne permettent pas les requêtes, ce que permettent par contre les Recordset de type Dynaset.
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set Abscen = db.OpenRecordset("Abscence", dbOpenDynaset)
    Set Abscen1 = db.OpenRecordset("AbscenceT", dbOpenDynaset)
    N'oubliez pas de tagguer la discussion comme résolue si vous avez été aidé!
    Plus haut monte le singe, plus il montre son cul (Montaigne)
    Je ne réponds pas aux messages personnels concernant des questions discutées dans le forum.

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 13
    Points : 8
    Points
    8
    Par défaut lire les données d'une table liée
    Bonjour à tous,

    j'ai toujours une erreur avec ma base alors j'ai decidé de le mettre à votre disposition plus avoir plus d'explications de vous.

    merci
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 15
    Dernier message: 17/03/2015, 22h42
  2. Réponses: 4
    Dernier message: 30/10/2014, 11h19
  3. Récupérer les données d'une table liée
    Par ludojojo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/06/2010, 22h24
  4. Problème pour lire les donnée d'une table externe
    Par waldoun dans le forum SQL*Loader
    Réponses: 0
    Dernier message: 01/05/2009, 18h16
  5. Problème pour lire les donnée d'une table externe
    Par mardoch dans le forum SQL*Loader
    Réponses: 6
    Dernier message: 17/07/2008, 16h41

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