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 :

Id Autonumber supérieur à 32767 [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut Id Autonumber supérieur à 32767
    Bonjour à tous

    Je suis devant un souci que je ne comprends pas et j'ai bien besoin d'un coup de main.

    J'ai fais une procedure pour imprimer des fichiers texte que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub PrintSwift(ByVal IDSwift As Long) 
    Set Odb = CurrentDb
    DoCmd.OpenReport "PrintSwiftUnique", acViewNormal, , , , IDSwift
    Odb.Execute ("UPDATE SWIFTDataBase SET Imprime = True WHERE ID = " & IDSwift)
    LogOperant "Imprimer", IDSwift
    Set Odb = Nothing
    End Sub
    Le Report "PrintSwiftUnique" contient cela dans son 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
     
    Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
    Dim oFSOApercu As New Scripting.FileSystemObject
    Dim oFlApercu As Scripting.File
    Dim ts As TextStream
    Dim strSwift As String
    Me.Printer.Duplex = acPRDPSimplex
    Set oFlApercu = oFSOApercu.GetFile(DLookup("RepFichier", "SWIFTDataBase", "ID = " & OpenArgs) & "\" & DLookup("NomFichier", "SWIFTDataBase", "ID = " & OpenArgs))
    Set ts = oFlApercu.OpenAsTextStream(ForReading, TristateUseDefault)
    strSwift = ts.ReadAll
    strSwift = Replace(strSwift, "}", "}" & vbCrLf)
    txtSWIFT.Value = strSwift
    Set oFlApercu = Nothing
    ts.Close
    Set ts = Nothing
    End Sub
    L'id qui est envoyé en paramètre, puis en OpenArgs vient directement de la table depuis le champ ID qui est un Autonumber.

    Chaque fichier dont l'ID est en dessous de 32766 fonctionne parfaitement, les autres ne s'impriment pas mais il n'y a aucun message d'erreur et toutes les lignes de code à la suite du Docmd.Openreport sont ignorées.

    Je suis paumé, je ne sais vraiment pas quoi faire car je ne comprends même pas le souci.

    Merci pour votre aide.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Que se passe-t-il si vous forcez IDSwift = 32800 (ou = dernier ID+1) ?

  3. #3
    Membre éprouvé
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 56
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Points : 931
    Points
    931
    Par défaut Bonsoir Zoopy,
    Que donne le débogage ?
    As-tu essayé un pas à pas pour voir ce qui s'exécute dans le rapport, et où ça part en vrille ?

    Cordialement.
    Les problèmes sont des opportunités en vêtements de travail. Henry H. Kaiser
    Il n'est pas de problème dont une absence de solution ne finisse par venir à bout. Henri Queuille

  4. #4
    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.

    Chaque fichier dont l'ID est en dessous de 32766 fonctionne parfaitement
    Les Autonum sont des entiers longs (long integer, Long) et 32766 est la lmite max des entiers (integer, int).
    Probabalement que tu as un integer quelque part.

    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.

  5. #5
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour vos aides.

    En forçant un ID ça marche pas.

    Le pas à pas ne veux pas fonctionner dans l'impression direct du Report, je sais pas pourquoi. Je lui mets un point d'arrêt et il l'ignore tout simplement.

    J'ai redescendu toute ma chaine de programme et j'ai pas un seul Interger qui traine, j'ai tout mis en Long.

    J'ai aussi fait un Compacte and Repair, pour être sûr, mais rien ne change.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  6. #6
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Bon, j'ai trouvé.

    J'ai un paramètre d'une procédure qui avait gardé un Integer à la place d'un Long.
    Cette Sub était un peu cache dans le code et vu qu'elle intervenait après l'impression, je n'étais pas descendu aussi loin dans le code.

    Bref, j'ai tout rétabli et tout refonctionne.

    Merci pour votre aide.

    Je vous souhaite un excellent week-end.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

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

Discussions similaires

  1. Questions concernant les études supérieures et travails
    Par Vivian Pennel dans le forum Etudes
    Réponses: 25
    Dernier message: 21/06/2005, 15h23
  2. partie entière supérieure
    Par pmboutteau dans le forum ASP
    Réponses: 3
    Dernier message: 10/03/2005, 10h31
  3. Réponses: 1
    Dernier message: 11/10/2004, 10h47
  4. Elément de niveau supérieur dans un menu
    Par pascalT dans le forum Composants VCL
    Réponses: 2
    Dernier message: 27/03/2003, 09h39

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