Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    Estrazione dati da db e loro abbinamento

    Ciao a tutti, spero di essere in grado di spiegarmi:

    -ho una tbl di un db access in cui si registrano la data d'inizio della registrazione ad un portale e la data di fine;

    -con le date (impostate dal sistema) vengono inserite anche il nome e l'email dell'utente nuovo iscritto;

    Con questo codice "recupero" le informazioni dal db:
    codice:
    set db = Server.CreateObject("ADODB.Connection")
    connect = "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& server.mappath("testdb.mdb")
    db.Open connect
    
    dataInizioIscr = request.form("dataInizioIscr")
    dataFineIscr = request.form("dataFineIscr")
    
    SQL = "select * from testdb WHERE dataInizioIscr >= #"&dataInizioIscr&"# AND dataFineIscr <= #"&dataFineIscr&"#"
    set rs = server.createObject("ADODB.Recordset")
    rs.open SQL, db, 1, 3
    
    do while not rs.EOF
    
    dataInizioIscr = rs("dataInizioIscr")
    dataFineIscr = rs("dataFine")
    NomeIscritto = rs("NomeIscritto")
    email = rs("email")
    
    rs.MoveNext
    loop
    Con questa funzione, reperita su google, invece vengono calcolati il numero di giorni di iscrizione dell'utente ed i giorni compresi nell'intervallo di iscrizione richiesto tramite un form:
    codice:
    Function amtWorkDays(start_date, end_date)
    
    	myworkstartdate = start_date
    	myworkenddate = end_date
    	myworkstartdate = CDate(myworkstartdate)
    	myworkenddate = CDate(myworkenddate)
    	mytempworkday = myworkstartdate
    	
    	do until mytempworkday = myworkenddate
    		
    		mydaycase = Weekday(mytempworkday)
    		
    		select case mydaycase
    				case 1,7	
    			mytempworkday = DateAdd("D", 1, mytempworkday) 
    		case else
    			response.write mytempworkday & "-"
    			mytempworkday = DateAdd("D", 1, mytempworkday) 	
    			amtWorkDays = amtWorkDays + 1 
    		end select
    		
    	loop
    	
    End Function
    	response.write amtWorkDays(dataInizioIscr, dataFineIscr)
    La domanda è:

    -Posso stampare a video, per ciascuno dei giorni compresi nell'intervallo di iscrizione richiesto dal form, i dati recuperati con la query???

    Esempio come stampo a video adesso:
    04/08/2005-05/08/2005-08/08/2005-09/08/2005-10/08/2005-11/08/2005-6
    Esempio di come vorrei stampare a video:
    04/08/2005 --> NomeIscritto --> email
    05/08/2005 --> NomeIscritto --> email
    08/08/2005 --> NomeIscritto --> email
    09/08/2005 --> NomeIscritto --> email
    10/08/2005 --> NomeIscritto --> email
    11/08/2005 --> NomeIscritto --> email

    Calcolo dei giorni di iscrizione: 6
    Ciao
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Ho pubblicato lo script:

    http://www32.websamba.com/orcim/

    grazie
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  3. #3
    avevo capito male... scusa

  4. #4
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    non è chiaro?
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  5. #5
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Non so più come spiegarmi, così visualizzo:
    codice:
    04/08/2005-05/08/2005-08/08/2005-09/08/2005-10/08/2005-11/08/2005-
    NomeIscritto-EmailIScritto
    Così vorrei visualizzare:
    codice:
    04/08/2005=NomeIscritto-EmailIScritto
    05/08/2005=NomeIscritto-EmailIScritto
    08/08/2005=NomeIscritto-EmailIScritto
    09/08/2005=NomeIscritto-EmailIScritto
    10/08/2005=NomeIscritto-EmailIScritto
    11/08/2005=NomeIscritto-EmailIScritto
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Sono due operazioni distinte.
    Per stampare i nominativi in ordine di data ti è sufficiente ordinare per data all'interno dell'intervallo di date da te scelto.
    Per il calcolo del numero di giorni tra due date esiste la funzione DateDiff

    Roby

  7. #7
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Grazie Roby, ma la tua informazione non è che mi sia molto utile a "sbloccare" la situazione... e dovrei essere pronto con l'applicativo per lunedì mattina...
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non ho capito. Stai forse aspettando che qualcuno lo faccia per te?

    Le indicazioni te le ho fornite, non resta altro che cercare di capire come opera la funzione DateDiff visto che la query ordinata per data immagino tu sappia farla.

    Roby

  9. #9
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Originariamente inviato da Roby_72
    Non ho capito. Stai forse aspettando che qualcuno lo faccia per te?

    Roby
    Mi pare di non aver mai scritto che qualcuno lo dovesse fare per me... non ho mai pensato di chiedere ad altri di soluzionarmi il problema... era un semplice sfogo... credimi...

    In tutti casi credo di aver esposto bene il problema visto le risposte...
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  10. #10
    Sostituisci al tuo ciclo il seguente:
    codice:
    do while not rs.EOF
    
     dataInizioIscr = rs("dataInizioIscr")
     datacorrente = dataInizioIscr
     dataFineIscr = rs("dataFine")
     NomeIscritto = rs("NomeIscritto")
     email = rs("email")
    
      do until datacorrente = dataFineIscr
       if not (weekday(datacorrente) = 1 OR weekday(datacorrente) = 7) then
       response.write(datacorrente&" ---> "&NomeIscritto&" - "&email&"
    ")
       end if
       datacorrente = datacorrente + 1
      loop
    
    
    rs.MoveNext
    loop
    anche se non capisco l'utilità di ripetere tante volte lo stesso nome e indirizzo..........se poi hai qualche centinaio di utenti che sono rimasti iscritti qualche anno ciascuno........buon divertimento!
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.