Insertion dans une table

zincben Messages postés 25 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 5 juin 2004 - 7 avril 2003 à 00:24
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 - 8 avril 2003 à 20:09
J'ai un probleme
J'ai une table avec les champs SOCIETE(de type texte), Moules(case à cocher), Modeles(case à cocher), Maquettes(case à cocher), IDsoc(numerique), Metiers(case à cocher), Titre(liste déroulante), Prénom(texte), Nom(texte), Adresse1(texte), Adresse2(texte)
Je veux ajouter une fiche à la derniere position de la table. Les champs sont rempli via un formulaire sauf pour l'IDsoc ou j'attribu un numero (j'incrémente le numero du de la dernier ligne de la table)
et donc j'ai un problemde j'ai essayé plusieurs trucs mais je vois pas comment faire. (précision: je débute )

voici mon code avec l'endroit ou se truve le prob en commentaire. si quelq'un pouvait m'aider merci d'avance
en fait j'arrive pas à trouver comment récuperer le dernier ID pour l'incrémenter et l'attribuer, et en même temps comment insérer la fiche en dernière ligne de ma table
<%
'CONNEXION
Dim conn
Set conn= Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("./databases/etude.mdb")
%>
<%
Dim ID
Dim message
If Request.Form("Submit") <> "" Then
dim SQLAjoutadherent
dim choix1
dim choix2
dim choix3
dim choix4
if Request.Form("moule1") = "on" Then
choix1 = "true"
Else
choix1 = "false"
End if
if Request.Form("modele1") = "on" Then
choix2 = "true"
Else
choix2 = "false"
End if
if Request.Form("maquette1") = "on" Then
choix3 = "true"
Else
choix3 = "false"
End if
if Request.Form("metier1") = "on" Then
choix4 = "true"
Else
choix4 = "false"
End if
'REQUETE POUR AJOUTER UN ADHERENT DANS LA TABLE Adhérents

SQLAjoutadherent= "INSERT INTO Adherents (SOCIETE, Moules, Modeles, Maquettes, IDsoc, Metiers, Titre, Prénom, Nom, Adresse1, Adresse2) VALUES ('" & Replace(Request.Form("societe1"),"'","''") & "'," & choix1 & "," & choix2 & "," & choix3 & "," & "ID" & "," & choix4 & "," & Request.Form("titre1") & ",'" & Replace(Request.Form("nom1"),"'","''") & "','" & Replace(Request.Form("prenom1"),"'","''") & "','" & Replace(Request.Form("adr1"),"'","''") & "','" & Replace(Request.Form("adr2"),"'","''") & "');"
'CREATION D'UN JEU D'ENREGISTERMENT
dim ObjRSAjoutadherent
Set ObjRSAjoutadherent = Server.CreateObject("ADODB.RecordSet")

'''''''''''''''''''''
'' mon probleme
''''''''''''''

ObjRSAjoutadherent.MoveLast

ID = objRSAjoutadherent("IDsoc")
'ObjRSAjoutadherent.MoveNext
Set ObjRSAjoutadherent = conn.Execute(SQLAjoutadherent)
message="Ajout effectué"
conn.close
Set conn=nothing
response.redirect("./ajoutadherent1.asp")
End if
%>

<html>
<head>
<title>Ajout d'un adhérent</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

Ajout
d'un utilisateur





Infos
utilisateur :

<form name="form1" method="post" action="">
Société :,
,

----

Spécialité(s) :,
Moules
,
Modeles
,
Maquettes
,
Metiers
,

----

Titre :,
<select name="titre1" size="1" id="select">
<option>M.</option>
<option>Mme.</option>
<option>Mlle.</option>
</select>,

----

Nom :,
,

----

Prénom :,
,

----

Adresse :,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,
,

----

,

</form>
[./menu-adminafim.asp retour menu]

</html>

1 réponse

cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
8 avril 2003 à 20:09
Normalement ce type de champs se gère par la Base de données elle même et non lors d'un Insert.

En activant l'option Incrémentation automatique de ton champs IDsoc et en le méttant en clé primaire.

Sinon, avant l'Insert, tu fais un SELECT Max(IdSec) .... qui te donnera le Numéro du dernier ID ajouté.

Lors de ton insert tu prendras alors cette valeur +1

F___
0
Rejoignez-nous