recuperare dati da database access con asp

  • Creatore Discussione Creatore Discussione Toscano
  • Data di inizio Data di inizio

Toscano

Utente Attivo
27 Apr 2012
31
0
0
Firenze
Ciao a tutti,
questo il mio unico ma fondamentale problema:hammer:

Devo realizzare per la mia scuola un software che consenta ai genitori di prenotare online i colloqui con gli insegnanti.

Ho già sviluppato quasi tutto ma non riesco a fare una cosa per me essenziale:

1. ho un database (mdb) fatto con access che ha 4 campi: (1) Nome cognome e classe dello studente - (2) Email - (3) Telefono - (4) Nome dell'insegnante con il quale si vuole prenotare il colloquio. La tabella relativa si chiama Contatti

2. attraverso un form in asp il genitore compila i campi e li invia (questo l'ho gia fatto e funziona).

3 il genitore, dopo avercompilato i campi del modulo di richiesta può controllare la sua posizione di prenotazione (anche questo funziona ma.........

Il problemone: dal momento che non si possono accettare più di 10 prenotazioni al giorno per insegnante (con un'ora a disposizione più di 10 utenti non si riesce a riceverli neanche volendo!) vorrei che il database - al momento dell'interrogazione da parte dell'utente -restituisse solo i primi 10 utenti che hanno scelto un determinato insegnante.

Ad esempio se 12 persone hanno fissato colloquio con Pippo e Tizio è la dodicesima, vorrei che Tizio, dopo aver spedito il suo modulo, quando va a controllare l'esito della sua prenotazione, veda una lista di 10 persone (e non di 12 come sarebbe in realtà) in modo che capisca che per quella settimana lui non potrà avere il colloquio con Pippo.
Ovviamente ho un solo database che dovrebbe raccogliere le prenotazioni di circa 1000 (potenzialmente almeno) utenti a settimana e gestire circa 100 nomi di docenti diversi. Tutti i fine settimana tolgo il dbase pieno e lo sostituisco con un'altro vuoto in modo tale da far ripartire le prenotazioni;

Ciò che ho provato a fare :


Questo mi restituisce tutti i record degli utenti che hanno chiesto colloquio con Pippo (ma i vorrei solo i primi 10)

<%

Set objConn = Server.CreateObject("ADODB.Connection")

strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("data/nomedbase.mdb")

objConn.Open strConn

Set objRs = Server.CreateObject("ADODB.Recordset")

set objRs = objConn.Execute("SELECT * FROM Contatti WHERE NomeInsegnante ='Pippo'")
Do while NOT objRs.EOF

response.write "Cognome = " & objRs("Cognome e classe") & "<br>"

response.write "E-mail = " & objRs("IndirizzoPostaElettronica") & "<br>"

response.write "Telefono = " & objRs("TelefonoCellulare") & "<br>"

response.write "Nome Insegnante = " & objRs("NomeInsegnante") & "<br>"

response.write "<hr size='1' color='midnightblue' width='40%' align='left'>"

objRs.Movenext

Loop



objRs.Close

Set objRs = Nothing

objConn.Close

Set objConn = Nothing

%>


--------------------------------------------------------------------------

Questo invece (ho tralasciato di copiare la parte iniziale del codice che non cambia) restituisce solo i record che hanno ID compreso tra 1 e 9 (non fa al caso mio perché non è detto che il primo colloquio prenotato con Pippo sia corrispondente a ID 1

set objRs = objConn.Execute("SELECT * FROM Contatti WHERE IDContatto < 10;")
--------------------------------------------------------------------------


"SELECT TOP 10 FROM Contatti WHERE NomeInsegnante ='Pippo' " mi restituisce errore

"SELECT TOP 10 FROM Contatti WHERE NomeInsegnante ='Pippo' ORDER BY id DESC" mi restituisce errore

Commetto sicuramente degli errori ma, non essendo esperto in materia sicuramente non li rilevo.

Qualche suggerimento???:byebye:

Grazie!
 

Discussioni simili