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

    Particolare controllo su db access

    Ciao.

    Dovrei:

    1) controllare che nella colonna ANNO di una tbl access non ci siano records con anni precedenti (-2) a quello corrente (cioè 2006 e 2005) ;

    2) In caso di mancanza degli anni 2006 e 2005 nella colonna ANNO, devo inserire una serie di 4 records con valore zero nella colonna VALORE per ciascuno degli anni 2006 (4 records) e 2005 (4 records).

    Come mi consigliate di fare?

    Ho scritto così:

    codice:
     AnnoPrecedente = Year(Now()) - 2
     AnnoCorrente = Year(Now()) - 1
     cod = request.form("ID")
    
    Set rec = Server.CreateObject("ADODB.Recordset")
    SQL = "SELECT * FROM tbl WHERE ID = "& Cod  
    rec.Open SQL, cn, 3, 3
    
    If Not rec.EOF Then
    Do While Not rec.EOF
    
    response.write rec("anno") &"
    "
    
    if rec("anno") <> AnnoPrecedente OR rec("anno") <> AnnoCorrente then
    
    'QUI COSA DEVO PREVEDERE?
    
    rec.MoveNext
    End If
    Loop
    End If
    
    rec.Close
    set rec = nothing
    
    Cn.Close
    set Cn = nothing
    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

  2. #2
    codice:
    AnnoPrecedente = Year(Now()) - 2
    AnnoCorrente = Year(Now()) - 1
    cod = request.form("ID")
    
    Set rec = Server.CreateObject("ADODB.Recordset")
    SQL = "SELECT * FROM tbl WHERE ID = " & Cod  & " AND (ANNO = " & AnnoPrecedente & " OR ANNO = " & AnnoCorrente & ")"
    
    rec.Open SQL, cn, 3, 3
    
    If rec.EOF Then
    
    cn.execute("INSERT INTO tbl... eccetera...)
    cn.execute("INSERT INTO tbl... eccetera...)
    eccetera...
    
    Else
    
    response.write "I dati ci sono già!"
    
    End If
    
    rec.Close
    set rec = nothing
    
    Cn.Close
    set Cn = nothing

  3. #3
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    grazie mille per la risposta.

    Solo una curiosità: ma devo prevedere 8 query di inserimento per inserire i 4 records per ciascun anno o esiste un modo più rapido?

    Per ogni record cambia soltanto l'anno ed il quadrimestre tutti gli altri valori sono pari a zero...
    "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

  4. #4
    Devi scrivere 4 cn.execute con tra parentesi l'INSERT INTO con i parametri necessari.

  5. #5
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Grazie, il tuo aiuto è stato determinante !!!
    "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

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.