|
| Autonummerering i ASP Fra : Ditte | Vist : 893 gange 150 point Dato : 27-04-01 12:00 |
|
Vi står og mangler en kode til databasen Access. Vi skal oprette en ny bruger i en tabel, der hedder kunder, samtidig skal den nye bruger tildeles et unikt kundenummer.
Efter oprettelsen skal resultaterne udskrives..!
På Forhånd Tak!
Ditte
| |
| Kommentar Fra : engo |
Dato : 27-04-01 12:14 |
|
Kan i ikke bare indsætte en integer som nøgle og bruge dette som et autonummereret felt i Access.
F.eks :
Kundenummer Navn Telefon .....osv
Hvor kundenummer er unikt samt autonummereret, når i så skal indsætte skriver i :
insert into kunder(navn,telefon,...) values('Kim','12312312',.....)
og når i så skal udskrive kunderne skriver i bare :
select * from kunder
Her er 2 eksempler :
Indsæt
<%
SQL = "insert into kunder(navn,telefon) values ('" & navn & "','" & telefon & "')" 'Ret til din egen sql
con = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\Temp\dindatabase.mdb" 'Ret filnavn
set Rs = Server.CreateObject("ADODB.RecordSet")
RS.Open SQL, con
%>
Udskriv
<%
SQL = "Select * from kunder" 'Ret til din egen sql
con = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\Temp\dindatabase.mdb" 'Ret filnavn
set Rs = Server.CreateObject("ADODB.RecordSet")
RS.Open SQL, con
do while not RS.eof
response.write rs("navn") & "<br>" 'Ret feltnavn
response.write rs("telefon") & "<br>" 'Ret feltnavn
rs.movenext
loop
%>
Engo
| |
| Kommentar Fra : Ditte |
Dato : 27-04-01 12:27 |
|
Det er ikke helt, det jeg mener, Engo..
Når en kunde opretter sig i vores internetportal, skal vedkommende have tildelt et kundenr, som er unikt.
Jeg er ikke så god til at formulere det, men hvis nu f.eks. Jens Hansen har kundenr. 1001, og han står som den nederste på listen af kundenumre, så er det meningen at den næste kunde skal have kundenr. 1002. Og det er lige netop den kode vi står og mangler, vi kan ikke lige finde en logisk udvej!!
På Forhånd Tak
Ditte
| |
|
Kan du ikke bare bruge autonummering i access??
"Ditte" <Ditte.news@kandu.dk> skrev i en meddelelse
news:xnbG6.62677$o4.5529007@news010.worldonline.dk...
> Vi står og mangler en kode til databasen Access. Vi skal oprette en ny
bruger i en tabel, der hedder kunder, samtidig skal den nye bruger tildeles
et unikt kundenummer.
> Efter oprettelsen skal resultaterne udskrives..!
>
> På Forhånd Tak!
>
> Ditte
>
> --
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>
| |
| Kommentar Fra : Ditte |
Dato : 27-04-01 12:49 |
|
Vi er i øjeblikket i gang med et projekt, hvor vi skal lave vores egen interaktive portal. Vi må ikke benytte os af autonummereringen i Access. Men måske der kan laves noget men en løkke, som tæller sidste indtastede kundenr. og lægger en til??
| |
| Kommentar Fra : engo |
Dato : 27-04-01 14:17 |
|
Okay, du bliver nødt til at have en sorteringsnøgle for at kunne klare den opgave. F.eks. en oprettelsesdato.
Så kan du trække den sidste kunde ud :
select kundenr from kunder order by oprettetdato desc
nu skal du så tage kundenr og lægge 1 til, hvorefter du så kan oprette en ny kunde.
Det er den eneste måde du kan løse dette uden at bruge autonumre, som jeg ser det.
Engo
| |
| Kommentar Fra : AntonV |
Dato : 01-05-01 16:41 |
|
Hej
Lige et forslag:
Istedet for at bruge en sorteringsnøgle (oprettelsesdato) kan man bare hente det højeste
kundenr, såfremt dette er fortløbende, med følgende forespørgsel:
SELECT MAX(KUNDENR) FROM KUNDER
Den returnerer en værdi som du så lægger en til, og gemmer din nye kunde med dette nye kundenr.
mvh
AntonV
| |
| Kommentar Fra : netsrac |
Dato : 01-05-01 17:00 |
| | |
| Kommentar Fra : AntonV |
Dato : 01-05-01 17:25 |
|
netsrac >> Der må ikke bruges autonumbering! (hvorfor ved jeg ikke!), og det gør det eksempel du har sendt vistnok.
Noget andet er, hvis du laver forespørgslen (SELECT MAX(.......) serverside vil du ikke løbe ind i problemet.
Måske skal man oprette kunden samtidig med at man laver sin forespørgsel, noget i stil med:
INSERT INTO KUNDER VALUES ((SELECT MAX(KUNDENR) FROM KUNDER) + 1, val2, val3, val4)
Syntaksen er kun et eksempel.
mvh
AntonV
| |
| Kommentar Fra : netsrac |
Dato : 01-05-01 17:31 |
|
Ja subqueryes var vel en mulighed...
AntonV >> Ja, jeg kan jo bare læse hele tråden, undskyld, hvad er grunden til at der ikke må bruges autonummerering Ditte ? Det er da det mest unikke du kan få.
| |
| Kommentar Fra : Ditte |
Dato : 02-05-01 08:22 |
|
Grunden til at der ikke må bruges autonummerering er, at vi som opgave skal lave en internetportal i access! Vi har fået at vide at vi ikke må bruge autonummereringen i access, og skal lave det selv i asp..!
| |
| Kommentar Fra : netsrac |
Dato : 02-05-01 08:38 |
|
Hvis det er en opgave, så har i vel også udarbejdet et ER diagram ? Hvis ikke i må bruge autonummerering, så må i da have et andet felt som kan gøre det ud fra primær nøgle, såsom telefon nummer ?
I kan jo lade telefonnummer være primær nøgle, i har evt. også email som kandidat nøgle.
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|