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

Access Discussion :

Impossible d'ajouter ou de modifier des données


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 47
    Points : 25
    Points
    25
    Par défaut Impossible d'ajouter ou de modifier des données
    Bonjour,

    Je travaille pour une entreprise qui utilise une base de données créée sous Access, séparée en deux, une partie formulaires et requêtes et une partie tables de données. Sans savoir pourquoi, depuis ce matin, il nous est impossible de Créer de nouveaux enregistrements ou de modifier des enregistrements existant. Les codes erreur 2105 et 2046 apparaissent, et le mode débug se lance :

    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
    Ajouter:
    
    If DCount("*", "Orientations", "[ID_ménage]=[Forms]![Fiche ménage]![ID_ménage] And [Date fin séjour]>Date()") > 0 Then
        If MsgBox("Attention, le ménage a déjà une prise en charge en cours." & Chr(10) & "Voulez-vous enregistrer une autre prise en charge ?", vbYesNo) = vbYes Then
            DoCmd.GoToRecord , "Fiche orientations", acNewRec
            [ID_ménage] = [Forms]![Fiche ménage]![ID_ménage]
            [Nb pers_orientations] = [Forms]![Fiche ménage]![Nb personnes]
            Exit Sub
            End If
    '    DoCmd.Close acForm, "Fiche orientations"
        End
        End If
    
    DoCmd.GoToRecord , "Fiche orientations", acNewRec
    
    [ID_ménage] = [Forms]![Fiche ménage]![ID_ménage]
    [Nb pers_orientations] = [Forms]![Fiche ménage]![Nb personnes]
    [Date orientation] = Date
    
    If [Forms]![Fiche ménage]![Stabilisé] <> "En cours" Then
        DoCmd.RefreshRecord
        Exit Sub
        End If
    
    If [Forms]![Fiche ménage]![Dispositif] Like "Famille*" Then
        [Dispositif] = "Hôtel classique"
        Else
        [Dispositif] = [Forms]![Fiche ménage]![Dispositif]
        End If
    
    [Nom Structure] = [Forms]![Fiche ménage]![Nom hôtel]
    [Personnes 2] = [Ménage 2]
    [Personnes 3] = [Ménage 3]
    
    DoCmd.RefreshRecord
    
    End Sub
    En gras et italique ce qui ressort en débogage pour une des erreur 2105 apparue. Le pôle hôtellier et administration sont complètement bloqués, j'ai beau chercher je ne trouve pas vraiment d'indices permettant de m'aider sur le net, sachant que je ne suis pas une pro du code et encore moins d'Access.

    Le fait que chaque utilisateur ai un fichier interface (les formulaires) pour se connecter à la base source (les tables), et qu'ils sont sur différentes versions d'Access (certains 2010, 2013 ou 2016) a-t-il un impact et pourrait il en être la cause ?

    (Taille de la base "source" : 82 372 Ko, Taille de "l'interface" : 21 568 Ko, ces données sont prises après compactage, et il faut savoir que la base est hébergée sur un réseau que nous louons, de 1.50 To) => y a-t-il un risque d'atteindre la limitation de notre BDD Access ? Nous avons en moyenne une trentaine de nouveaux ménages par jour, et une centaine de nouvelles PEC en hôtel. J'ai déjà signalé qu'une base de données Access n'était pas appropriée pour autant de données et de fonctionnalités pour une si grande quantité de données à gérer, nous avons quelqu'un qui va recréer une BDD en intranet (HTML CSS JS PHP MySQL), mais en attendant il faut bien continuer à travailler ! D:

    Merci de votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Les BD Access sont limitees a 2 go donc tu as de la place en masse.

    Fait les test suivant apres avoir bien sauvegarde tes donnees de prod.

    1. Ouvre la BD reseau directement et essaye de faire une saisie dans la table concernee.
    2. Si cela marche, Ouvre la frontale en mode conception puis la table liee et essaye de faire une saisie dans la table concernee.
    3. Si cela marche connecte-toi seul sur l'appli et essaye de faire une saisie via le formulaire.
    4. Si cela marche demande a un de tes utilisateurs de se connecte seul sur l'appli et essaye de faire une saisie via le formulaire.


    Reviens avec les resultats qui auront je l'espere donne une piste.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Bonjour,
    Je n'ai pas eu le temps Vendredi de poster ma résolution du problème, il s'agissait d'une erreur du service Informatique. Nous hébergeons notre base sur un réseau que nous louons, et ce service informatique fait une sauvegarde tous les jours, normalement à 22h. Cette fois ci, la sauvegarde a été effectuée à 21h03 alors que l'un de nos employé était encore sur la base à travailler. Leurs horaires finissent à 21h, la sauvegarde pendant l'utilisation a causé un problème, des pertes de données, etc.
    En demandant la restauration du fichier, l'heure était identique au fichier de sauvegarde, et les données supprimées déjà. J'ai donc pris un ancien fichier sur lequel figurait toutes les données que nous avions perdu, et j'ai ajouté et mis à jour les données d'une base à l'autre, pour tout récupérer.
    Problème résolu donc, Merci d'avoir répondu, j'aurai une piste déjà si ce problème apparait sans erreur de la part du service informatique.
    Merci

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Re Bonjour,

    Maintenant un autre problème survient, depuis la réparation : il est impossible de créer des nouveaux rendez vous, et lorsque l'on essaie d'accéder au formulaire "Orientation", qui affichait un tableau de nos tables, avec possibilité de filtres, le message d'erreur :

    "La source d'enregistrement "Tbl Places" spécifiée dans ce formulaire ou cet état n'existe pas."

    Et il est impossible d'accéder à ce tableau. Pourtant, cette requête existe bien (oui la personne qui a créé cette base de données a appelé ses requêtes "Tbl Nom" -_-), elle existe donc, mais si je double clic dessus, j'ai un autre message d'erreur :

    "Le moteur de Base de données Microsoft Access ne peut pas trouver la table ou la requête source " ". Assurez vous qu'elle existe et qu'elle est correctement orthographiée."

    Nom : Sans titre.jpg
Affichages : 2501
Taille : 66,1 Ko

    Voici la requête en mode création, les tables utilisées, toutes ont l'air d'être correctes dans la base source.

    Merci de votre aide,

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.
    Ressaye maintenant que tu as ouvert la requete.
    Il arrive parfois que Access perde certains morceaux entre la requete et son execution.
    Quand on ouvre la requete, cela le force a refaire tout depuis le debut.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Et bien non, le message :"Le moteur de Base de données Microsoft Access ne peut pas trouver la table ou la requête source " ". Assurez vous qu'elle existe et qu'elle est correctement orthographiée." s'affiche dès que je clique sur exécuter. :/
    Je suis en train de réfléchir à la conception d'un module qui chercherait quelles informations manquent dans une table, à partir d'une clé, et ajoute les enregistrements sélectionnés, puis, fait une mise à jour. J'espère régler le problème en ajoutant les nouveaux enregistrements et modifications apportées à la base actuelle, dans un ancien fichier non corrompu celui ci... Mais c'est du VBA pour la création de module.

    C'est une bonne idée ? Y en a t il une meilleure ?

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Pas vraiment si on se fie au message.

    Le message apparait quand tu essayes d'executer ta requete "Tbl Places", c'est cela.

    as-tu ouvert chacun des composants de ta requete individuellement ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Oui j'ai tout essayé, et rien ne semble fonctionner, la requête "Tbl Places" refuse même de s'ouvrir :'( Je n'arrive pas à trouver d'où vient le problème, mais je pense que ça vient de la partie qui a été endommagée lors de la sauvegarde alors que quelqu'un était dessus, qui contient toutes les tables, et non la partie avec les formulaires, car le problème est le même avec d'anciens fichiers d'interface (contient les formulaires et requêtes, état, modules) qui n'ont pas pu être altéré par une sauvegarde réseau puisque enregistrés en local ! :/
    Je pense que le plus simple à faire est de repartir d'une version ancienne de la base et de créer un module qui compare les données de chacune des deux versions des tables (ancienne base et nouvelle) et ajoute les données inexistantes (à partir de la clé de la table) puis mets à jours les données existantes, qui ont pu être modifiées. Le problème, c'est que je ne m'y connais pas du tout en VBA
    Je suis en train de rechercher des aides sur le forum, ou des topics de gens qui ont eus besoin de faire la même chose, mais si quelqu'un a des connaissances et accepterai de m'aider, il me sauverait la vie !!

  9. #9
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    Une 1e idée est d'importer une ancienne version de la requete dans la dernière version de la frontale (si c'est une requete c'est dans la frontale et non la dorsale)

    Ensuite il faut vérifier que cette requete est bien en écriture et non en lecture seule (pour faire acnewrec). Cela dépend de sa complexité mais aussi de la nature des liaisons entre les tables utilisées
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par nico84 Voir le message
    Bonjour,

    Une 1e idée est d'importer une ancienne version de la requete dans la dernière version de la frontale (si c'est une requete c'est dans la frontale et non la dorsale)

    Ensuite il faut vérifier que cette requete est bien en écriture et non en lecture seule (pour faire acnewrec). Cela dépend de sa complexité mais aussi de la nature des liaisons entre les tables utilisées
    Bonjour,
    je ne comprends pas bien ce que tu veux faire exactement, mais la frontale est ce que j'appelle l'interface, et la dorsale est ce que j'appelle la base source (avec toutes les tables).
    La base source(dorsale) a été endommagée à cause d'une sauvegarde en dehors des heures prévues, alors que quelqu'un travaillait encore dessus. Nous avons perdus des données sur 2 tables, que j'ai pu récupérer depuis l'ancienne sauvegarde. Depuis, dans l'interface(frontale), impossible d'ouvrir certains onglets(formulaires) avec les messages d'erreurs vus plus haut, et ce, avec une ancienne interface(frontale) ou non. Le problème vient donc forcément de la base source(dorsale), logiquement ?
    Puisqu'une ancienne version de l'interface(frontale) ne marche plus, copier juste la requête ne changera rien non ? Sinon ça fonctionnerait quand même sur l'ancienne version "frontale".

  11. #11
    Nouveau membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Pour la création de module de mise à jour, j'ai des difficultés. Sachant que je vais faire ceci pour chaque table de la base, j'ai copié les tables de la nouvelle dans l'ancienne en rajoutant au nom "NEW" pour les différencier. Je veux donc comparer les deux bases, et ajouter chaque enregistrement inexistant, et en plus mettre à jour les enregistrements existant.

    Voici le code que j'ai essayé de rédiger, et qui ne fonctionne pas, mais je n'y connais rien en vba >< :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CurrentDb.Execute ("UPDATE [Ménages]" _
    & "SET [Ménages].* = [MénagesNEW].*" _
    & "WHERE (([Ménages].ID_ménage Is Null))")
    Pour ce qui est d'ajouter les fichiers dont l'id n'éxiste pas dans [Ménages], mais existe dans [MénagesNEW]. Je pense que je vais devoir remplacer le * par chaque nom de champ de ma table, on aurait alors par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SET [Ménages].[Nom] = [MénagesNEW].[Nom], [Ménages].[Prénom] = [MénagesNEW].[Prénom], [Ménages].[âge]= [MénagesNEW].[âge]" "
    Etc. ?

    Cela ne fonctionne pas, il me dit que j'ai une erreur de syntaxe dans l'instruction UPDATE. Un coup de main ?

  12. #12
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Je ne pense pas que VBA te sera bien utile dans le cas present.

    Perso je ferai une BD vierge et j'y importerai tous les objets.
    Ca prend 5 mn et cela permet de repartir sur des base solides.

    Pour le UPDATE, utilise l'editeur de requete au lieu de te battre avec la syntaxe du SQL de Access en VBA.
    En quelques glisser/deplacer tu vas avoir une requete fonctionnelle.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  13. #13
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Citation Envoyé par Stigger Voir le message
    La base source(dorsale) a été endommagée à cause d'une sauvegarde en dehors des heures prévues, alors que quelqu'un travaillait encore dessus.
    En théorie cette opération est possible. La sauvegarde est bien une simple copie vers un autre support ?

    Si c'est la frontale qui est endommagée, on peut la compacter et si cela ne résout rien, importer les tables une à une dans une base vide pour voir celle(s) qui pose(nt) problème...
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  14. #14
    Nouveau membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Bonjour.

    Je ne pense pas que VBA te sera bien utile dans le cas present.

    Perso je ferai une BD vierge et j'y importerai tous les objets.
    Ca prend 5 mn et cela permet de repartir sur des base solides.

    Pour le UPDATE, utilise l'editeur de requete au lieu de te battre avec la syntaxe du SQL de Access en VBA.
    En quelques glisser/deplacer tu vas avoir une requete fonctionnelle.

    A+
    Le problème c'est que je ne suis pas la personne qui a créé la base, et elle est TRES conséquente... Donc je ne sais pas si je ne risque pas de perdre des liens ou relations, ou autre, mais je vais quand même essayer. En attendant, VBA je n'y comprends vraiment rien, j'ai testé ce code sous requête SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO Ménages ( [Nom ménage], Prénom, [Date de naissance], Âge, [...] )
    SELECT [MénagesNEW].[Nom ménage], [MénagesNEW].[Prénom], [MénagesNEW].[Date de naissance], [MénagesNEW].[Âge], [...]
    FROM MénagesNEW
    WHERE (((MénagesNEW.[ID_ménage])=IsMissing([Ménages].[ID_ménage])));
    Mais même si je n'ai aucun renvoit d'erreur, mon code n'est pas bon puisque 0 lignes sont ajoutées. Quelqu'un sait où est mon erreur, je tourne en rond, j'y suis depuis tellement longtemps que je n'arrive pas à avoir le recul nécessaire pour trouver moi même :'( Sachant que l'ID_ménage s'incrémente au précédent automatiquement à chaque ajout.
    Et comme je ne travaille pas jeudi et vendredi car je suis à des séminaires obligatoires, j'aimerai quand même résoudre le problème ce soir, pour ne pas bloquer tout le monde jusqu'à lundi :S

    Merci de l'aide en tout cas, j'essaie et je fais un edit pour dire si ça fonctionne (mais j'aimerai par curiosité personnelle quand même savoir où je me suis plantée dans ce code x) )

    EDIT : Importer les tables dans une nouvelles table ne fonctionne pas, importer les objets de la frontale dans une nouvelle non plus, et compacter et réparer la frontale, ou la dorsale n'y change rien, c'est la première chose que j'ai essayé de faire... Je désespère :'(

  15. #15
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CurrentDb.Execute ("UPDATE [Ménages]" _
    & "SET [Ménages].* = [MénagesNEW].*" _
    & "WHERE (([Ménages].ID_ménage Is Null))")
    - il manque un espace avant le set et le where
    - set ...* = ...* n'est pas autorisé dans un update
    - dans ce cas c'est un insert qu'il faudrait puisque la ligne n'existe pas dans menages

    donc une syntaxe du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into old select * from new where not exists (select macle from old where old.macle=new.macle)
    Comme l'indique Marot le VBA n'apporte pas grand chose pour cela, la requete peut aussi bien être exécutée directement puisqu'elle ne servira qu'une fois
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  16. #16
    Nouveau membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Donc mon code deviendrait :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO MénagesOLD ( [Nom ménage], Prénom, [Date de naissance], Âge, [...] )
    SELECT [MénagesNEW].[Nom ménage], [MénagesNEW].[Prénom], [MénagesNEW].[Date de naissance], [MénagesNEW].[Âge], [...]
    FROM MénagesNEW
    WHERE NOT EXIST ( SELECT [ID_ménage] FROM [MénagesOLD] WHERE [MénagesOLD].[ID_ménage]=new.ID_ménage);

    Si j'ai bien compris, en requête sql ? ça ne fonctionne pas, il me demande encore un ID_ménage en paramètre d'entrée alors qu'il devrait se créer automatiquement :/

  17. #17
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Les champs ne se créent pas automatiquement, on se contente de leur affecter des valeurs...
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  18. #18
    Nouveau membre du Club
    Femme Profil pro
    Responsable de service informatique
    Inscrit en
    Juillet 2018
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juillet 2018
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Je n'ai toujours pas réussi à créer un module ou des requêtes pour ajouter les données d'une nouvelle base à une ancienne, puis mettre à jours celles existantes, en revanche, mon problème d'ajouts de données et d'enregistrement a pu être résolu, c'était tout bête, il fallait mettre à jour les liens des tables liées pour l'accès aux formulaires bloqués, et pour ce qui est des impossibilités d'enregistrer, je suis allée voir dans les tables concernées, les ID_Table et ID des tables étaient décalés pour certains, et ne correspondaient plus. On avait par exemple :

    ID_hôtel = 2556 / ID = 2556
    ID_hôtel = 2557 / ID = 2557
    ID_hôtel = 2558 / ID = 2559
    ID_hôtel = 2559 / ID = 2560
    ID_hôtel = 2560 / ID = 2561

    J'ai donc rectifié à la main ces erreurs, l'enregistrement de test a bien mis : ID_hôtel = 2580 / ID = 2580. Plus de décalage, et possibilité d'enregistrer à nouveau opérationnelle.

    Merci pour votre aide, et si par hasard quelqu'un aurait un module comme je souhaitais le faire, j'en aurais l'utilité car c'est souvent qu'une seule table rencontre un problème et que j'arrive en ajoutant les données et mettre à jour, à régler le problème.

    Bonne journée et bonne semaine !

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

Discussions similaires

  1. Impossible d'ajouter / modifier des données avec HSQL
    Par Tom4444 dans le forum Persistance des données
    Réponses: 1
    Dernier message: 06/10/2011, 16h27
  2. Réponses: 2
    Dernier message: 29/08/2011, 16h27
  3. [AC-97] impossible de modifier des données
    Par IvyAlice dans le forum Sécurité
    Réponses: 2
    Dernier message: 31/08/2009, 08h11
  4. Réponses: 4
    Dernier message: 14/01/2008, 00h15
  5. [VBA] Ajouter, modifier des données ou lecture seul
    Par Virgile59 dans le forum Access
    Réponses: 8
    Dernier message: 20/01/2006, 10h07

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