| 
					
							
        
    
        
						
			 | 
			
			
					    
					
    
        
            
                
                  | Autonummerering i ASP Fra :  Ditte  | Vist : 1234 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.
                    
                                  
            
          |   |   
        
        
          
         
					
					 
			 | 
			
				
        
			 |