Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di mmaria
    Registrato dal
    Apr 2003
    Messaggi
    594

    Problemi

    Ciao amici sono Maria ed ho un problema. Lavoro in asp e sono con un database access. Voglio che il contatore aumenti solo in und eterminato orario. Tra le 9 del mattino e le 23. Ho predisposto questo script ma non funziona mi da errore come faccio?

    sql = "SELECT TOP 1 * FROM contare ORDER BY id asc"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    if not rs.eof then
    rs.movelast

    if time() > 9.00.00 then
    rs("contatore")=rs("contatore")+1
    rs.update

    else
    end if

    rs("contatore")=rs("contatore")+0
    rs.update
    end if
    Grazie e bacini dalla vostra maria
    Grazie per quello che hai fatto...

  2. #2
    Ciao,

    dipende cosa ti da errore

    comunque la parte asp prova cosi

    Dim t

    t = cstr(Time())


    If t > "09.00.00" And t < "23.00.00" Then


    MsgBox t 'fai qualcosa nell'orario'


    Else

    MsgBox "no" ' non fare nulla fuori orario'

    End If


    per quanto riguarda il contatore se hai impostato in access un campo proprio come contatore
    ricorda che non puoi gestirlo nel senso che access automaticamente ne incrementa il valore ad ogni nuovo inserimento.

    puoi però simulare una insert fittizia nella prima if che rispetta l'orario
    senza specificare la else che diventa superflua
    cosi saprai di aver inserito un record nell'orario da te voluto.

    spero di essere stato sufficientemente chiaro

    un saluto

  3. #3
    Utente di HTML.it L'avatar di mmaria
    Registrato dal
    Apr 2003
    Messaggi
    594

    Qualcosa non funziona

    Ciao, qualcosa non funziona nello script perchè ma non capisco
    mi dovrebbe far vedere a seconda dell'orario l'una o l'altra opzione ma mi mostra sempre le due opzioniPotresti spiegarmi meglio
    quello che tu dici
    MsgBox t 'fai qualcosa nell'orario'
    Else
    MsgBox "no" ' non fare nulla fuori orario'
    End If
    come devo scrivere?
    Grazie sempre e bacini
    ecco il mio script

    sql = "SELECT TOP 1 * FROM contare ORDER BY id asc"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    if not rs.eof then
    rs.movelast
    dim t
    t = cstr(Time())

    If t > "09.00.00" And t < "23.00.00" Then


    response.write "Sei il visitatore n. "
    response.write "<font color=ff0000>"
    response.write(formatnumber(rs("contatore"),0))
    response.write "</font>"
    rs("contatore")=rs("contatore")+0
    rs.update




    else
    end if

    response.write "Sei il visitatore n. "
    response.write "<font color=ff0000>"
    response.write(formatnumber(rs("contatore"),0))
    response.write "</font>"
    rs("contatore")=rs("contatore")+1
    rs.update
    end if
    Grazie per quello che hai fatto...

  4. #4
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Ovazione x il titolo della discussione...

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Prima verifica se sei nel range dell'orario e poi procedi all'aggiornamento della tabella.
    Risparmia risorse....

    Roby

  6. #6
    si inserisci un orario diverso

    ad esempio 08.00.00 al posto delle 09


    ciao

  7. #7

  8. #8
    scusa non leggere il penultimo mess...

    stavo facendo un'altra cosa e ho clikato erroneamente su invia risposta

    ciao

  9. #9
    Ciao Maria,

    ho fatto delle prove con un amico,
    abbiamo scritto una cosa spero definitiva come segue

    la select sql prevede il sort "desc" e non "asc" altrimenti prendi sempre il visitatore con l'id più basso.

    se siamo nell'orario giusto viene fatta

    1) una insert

    (nella insert ho espresso dei campi casuali che ci siamo creati per il test, il campo id non viene toccato poiche essendo stato definito come contatore in access - come ti dicevo nella primo mess - il suo valore aumenta automaticamente.

    2) poi la query per recuperare l'ultimo id e mostrarlo



    se fuori orario viene fatta solo laquery


    Spero ti possa servire - non so se avevi già chiuso la discussione

    Ciao



    codice:
    <%
    sql = "SELECT TOP 1 * FROM contare ORDER BY id desc"
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set conn = Server.CreateObject("ADODB.Connection")
    
    
    
    
    Conn.Open " **** "
    
    
    		
    	dim t
    	t = cstr(Time())
    
    	If t > "09.00.00" And t < "23.00.00" Then
    	
    	on error resume next
    	
    	conn.begintrans
    	
    	conn.execute "insert into contare (testo1,testo2) values ('uno','due')"
    	
    	if err<>0 then
    	
    		conn.rollbacktrans
    		response.Write(err.description)
    		
    	else
    	
    		conn.committrans
    	
    	
    			rs.Open sql,conn
    	
    		
    			response.write "inserito orario corretto 
    "
    			response.write "Sei il visitatore n. "
    			response.write "<font color=ff0000>"
    			response.write(formatnumber(rs("id"),0))
    			response.write "</font>"
    	
    	end if
    	
    			
    	
    
    	
    	else
    	
    		rs.Open sql,conn
    		
    		if not rs.eof then 
    		
    			response.write "non inserito orario non corretto 
    "
    			response.write "Sei il visitatore n. "
    			response.write "<font color=ff0000>"
    			response.write(formatnumber(rs("id"),0))
    			response.write "</font>"
    		
    		else
    		
    			response.write "Nessun visitatore presente"
    		
    		
    			
    		end if
    		
    
    	end if
    
    rs.close
    conn.close
    	
    
    
    
    %>

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 © 2026 vBulletin Solutions, Inc. All rights reserved.