Accueil > Forum > > > > Incrémentation identifiant sql!!!
Incrémentation identifiant sql!!!
mercredi 20 février 2008 à 21:07:11 |
Incrémentation identifiant sql!!!

js8bleu
|
Bonjour à tous,
Je ''programme'' en visual basic et access et je souhaiterai
faire de telle sorte que l'identifiant de ma table ''voiture'' s'incrémente à
chaque fois que j'enregistre une nouvelle voiture, mais je ne sais pas comme le
faire. L'identifiant ''idvoiture'' est de type texte. Le code (ci-après) que
j'avais marchait correctement jusqu'à ce que les enregistrements atteignent le
nombre de 10 en effet, pour les données de type texte 9 est supérieur à 10. Il
me parle donc à chaque fois de doublons. J'ai résolu le problème en utilisant
le type integer mais je souhaiterai vraiment garder le type texte. Quelqu'un
pourrait-il m'aider s'il vous plaît ? Merci d'avance.
Dim
rsenregistrervoiture As New Recordset
rsenregistrervoiture.Open
"select * from Tablevoiture", cn, 1, 2
rsenregistrer.AddNew
If rsenregistrervoiture.RecordCount
< 1 Then
rsenregistrer!idvoiture = 1
Else
Dim rsnumvoiture1 As New
ADODB.Recordset
rsnumvoiture1.Open "select
max(idvoiture) as maximum from tablevoiture", cn, 1, 2
Dim maximum As Integer
maximum = rsnumvoiture1.Fields(0)
rsenregistrer!idvoiture =
maximum + 1
End If
Cordialement
|
|
mercredi 20 février 2008 à 21:23:19 |
Re : Incrémentation identifiant sql!!!

LIBRE_MAX
|
Salut, une solution à deux conditions/ 1- Formater ton identifiant (sur 6 caractères par exemple) IdVoiture="000001" IdVoiture="000002" IdVoiture="000003" IdVoiture="000010" 2- Utilises Last au lieu de Max rsnumvoiture1.Open "select Last(idvoiture) as maximum from tablevoiture", cn, 1, 2
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
|
|
mercredi 20 février 2008 à 21:27:01 |
Re : Incrémentation identifiant sql!!!

LIBRE_MAX
|
Ah , j' ai oublié ! Dim maximum As Integer maximum = CInt(rsnumvoiture1.Fields(0) ) rsenregistrer!idvoiture = maximum + 1 et remplaces par la même occasion rsnumvoiture1.Open "select Last(idvoiture) as Dernier from tablevoiture", cn, 1, 2
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
|
|
jeudi 21 février 2008 à 06:01:47 |
Re : Incrémentation identifiant sql!!!

laridak
|
C'est simple pour que garder le type texte tu peux utiliser la fonction CTYP(rsnumvoiture1.Fields(0) ,INTEGER) et commca tu peux garder ton type text here i'am again evreywhere    
|
|
vendredi 22 février 2008 à 09:27:54 |
Re : Incrémentation identifiant sql!!!

js8bleu
|
Salut Messieurs,
j'ai essayé vos codes mais ça ne marche pas.laridak, CTYP(rsnumvoiture1.Fields(0) ,INTEGER) n'existe pas ou n'est pas correct sous VB6.0, je ne sais pas pourquoi? Quant à LIBRE_MAX, je ne sais pas comment formater mon id sur 6 caractères comme tu l'as suggéré, ce serait super si tu pouvais me dire comment faire. De plus de cette manière combien d'enregistrements possibles pourrais-je avoir avant d'avoir ce satané message d'erreur s'il te plaît? J'attends votre aide à tous. Merci d'avance.
Cordialement.
|
|
vendredi 22 février 2008 à 13:07:30 |
Re : Incrémentation identifiant sql!!!

LIBRE_MAX
|
Salut, Pour le Formatage, c' est presque simple ! Format$(IdVoiture, "000000")
Si tes données sont déjà enregistrées dans un autre format. dans ta requete tu génère un champ MonIdVoiture et tu tries sur celui-ci. rsnumvoiture1.Open "select Format$(tablevoiture.idvoiture,"000000") As MonIdVoiture from tablevoiture ORDER BY Format$(tablevoiture.idvoiture,"000000");", cn, 1, 2 Tu récupères ensuite le dernier de MonIdVoiture en allant au dernier.
et tu adoptes ce format à chaque nouvel enregistremet. MonIdVoitue= Format$(Nouvelidvoiture,"000000"). Tu peux aussi mettre à jour ta table en remplaçant ton idvoitue par le nouveau format. Genre "UPDATE tablevoiture.idvoiture SET tablevoiture.idvoiture= Format$(tablevoiture.idvoiture,"000000");" comme ça tu peut récupèrer le dernier sans devoir formater ton champ. (voir précédent post)
Pour le nombre d' enregistrement tu peux aller jusqu' à 999999. Si c' est pas suffisant ,et que tu comptes avoir plus, tu peux choisir le format qui te permettera d' avantage : "00000000000" par exemple.
... Y'en a même qui disent qu'ils l'ont vu voler.
/P>
|
|
vendredi 22 février 2008 à 14:53:30 |
Re : Incrémentation identifiant sql!!!

js8bleu
|
Ok Merci, je vais essayer. Cependant, j'ai un autre problème. je souhaiterai récupérer le résultat nul ou vide d'une requête afin
d'en faire un traitement, mais je ne sais pas comment le faire. J'ai
essayé le rsvoiture.recordcount , le IsNull(rsvoiture). C'est à dire :
si rsvoiture ne donne pas de résultat alors
traitement 1
sinon
traitement 2
end if
Y-a-t-il quelqu'un pour m'aider s'il vous plaît? Merci d'avance.
|
|
vendredi 22 février 2008 à 15:03:57 |
Re : Incrémentation identifiant sql!!!

LIBRE_MAX
|
perso, je fais le truc suivant: Après avoir référencé mon recordset je fais ceci:
With rsvoiture On Error Resume Next .MoveLast .MoveFirst If .Bof And .Eof Then ==> 'aucun enregistrement <Traitement1> Else ==> 'recordset plein <Traitement2> End With
PS: le On Error Resume Next c' est pour éviter l' erreur suite à MoveLast si le recordset est vide.
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
|
|
vendredi 22 février 2008 à 15:06:12 |
Re : Incrémentation identifiant sql!!!

LIBRE_MAX
|
mais tu peux aussi tester avec recordcount If rsvoiture.recordcount=0 Then '==> aucun enregistrement
... Y'en a même qui disent qu'ils l'ont vu voler.
/PRE>
|
|
Cette discussion est classée dans : texte, type, maximum, identifiant, idvoiture
Répondre à ce message
Sujets en rapport avec ce message
Access et champ type Memo ?? [ par barth707 ]
Bjrs, J'utilise un champ type memo sous access pour faire des test parce que je ne savais pas que cela existait, avant pour mettre un grand texte j'ut
Convertion de type en vba [ par gegen ]
SalutJ'ai besoin de convertir un champs texte sur excel en champs numérique.ex : j'ai -45,15 en texte il me le faut en numérique
Convertir un fichier ASCII [ par darkbol ]
Bonjour, j'aimerais savoir comment d'un fichier ascii type : !Coordinate System: ! Projection System ID: 0 Initialized Quick: 0! Secondary Horizonta
Problème d'apostrophe [ par schoubz ]
Bonjour à tous.J'ai un petit souci avec une application liée à une base de données.Je veux ajouter du texte à un champs type "Memo" sur une base ACCES
ACCESS 97 [ par beepmaster ]
Un bug dans Acces 97 fait que les requêtes peuvent retourner des valeur de type texte > 255 caractères, lorsque l'on demande le type de la colonne la
[vb.net] Problème de conversion de types (String ==> Double) [ par steppenwolf ]
Salut !J'ai un problème dans mon programme avec une conversion de type. J'extrais des données d'un fichier texte, puis je les affecte à des variables
comment mettre une condition sur une donnée de type texte sur Excel [ par vbdebut ]
Bounjour à tous,Je cherche à faire une condition en fonction d' un texte (si nom de fournisseur est .... alors on fait...) dans une colonne EXCEL. Je
Champ type OLE [ par dam94 ]
Bonjour,J'ai un fichier texte que je voudrai stocker dans un champ access. Le fichier fais plus de 255 caractères donc je ne peut pas utiliser le cham
Récupérer le contenu d'un "input type=texte" form pour un programme cgi [ par Ayorosmage ]
Salut à tous, j'aimerai savoir comment on peut transmettre le contenu d'une fenêtre input de type texte (html) et les envoyer à un programme ***.cgi
Problème bizarre de récupération d'une chaîne... [ par Titoudoun ]
Bonjour à tous !J'ai à nouveau un problème sur ma base de données. En effet, j'ai une requête qui doit renvoyer un texte, mais le programme génère une
Livres en rapport
|
Derniers Blogs
[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko
Forum
RE : VITESSERE : VITESSE par ossama261988
Cliquez pour lire la suite par ossama261988 RE : VITESSERE : VITESSE par ucfoutu
Cliquez pour lire la suite par ucfoutu
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|