Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    24

    Evitare di inserire RECORD già ESISTENTI

    Ciao a tutti,

    Ho un problema... quando compilo un form con dei dati ho necessita che su uno di questi vi sia un controllo nel database access per vedere se è già esistente (ogni dato è un campo di una tabella nel database)

    Qui ci sono i vari campi tra cui data e numero che vengono compilati automaticamente, ed è proprio il numero il problema, visto che anche se c'è un contatore che lo gestisce, il campo modificabile, c'è possibilità di inserire due volte lo stesso numero...

    Nel database c'è una tabella in cui c'è un contatore che gestisce il numero ed un 'altra tabella in cui ci sono vari campi tra cui anche lo stesso numero...

    Una volta compilati i campi, facendo submit, non si ha la scrittura nel database, ma si và in una pagina incui si inseriscono altri dati che non vanno nel database ma vengono solo visualizzti, e successivamente c'è una pagina in cui viene visualizzata l'anteprima, e in cui si trova un bottone che conferma i dati e scrive nel database access.

    Potreste aiutarmi, ho cercato, ma non trovo un'istruzione adatta a questa cosa, e non sono sicuro di averla messa nel posto giusto...

    Vi posto un pò di codice:

    Questa è la prima pagina

    <%@ Language=VBScript %>
    <%

    cod = request.QueryString("cod")

    set cnn = Server.CreateObject("ADODB.Connection")
    set rs = Server.CreateObject("ADODB.RecordSet")
    set rsnum = Server.CreateObject("ADODB.RecordSet")
    set cmd = Server.CreateObject("ADODB.Command")
    cnn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Application("db")
    rs.Open "SELECT * FROM regi WHERE ID = " & cod & ";", cnn, 3, 3
    rsnum.Open "SELECT * FROM number", cnn, 3, 3
    nn = rsnum("numero")+1
    rsnum.Close

    %>
    <HTML>
    <HEAD>
    <META NAME="GENERATOR" Content="Microsoft X 4.0">
    <title>
    Fattura
    </title>
    </HEAD>
    <BODY bgcolor='lightgrey'>
    <form name='laus' method='post' action='confint.asp?cod=<%=cod%>'>

    <table align='center' border='1'><tr><td align='center'>

    <table border='0' align='center'>
    <tr><th align='center' colspan='2'><hr>DATA E NUMERO
    <hr></th></tr>
    <tr><td align='right'><font face='arial' size='1'>Data:</font></td><td align='left'><input type='text' name='data' value="<%=date()%>" size='10' title='Data'></td></tr>
    <tr><td align='right'><font face='arial' size='1'>Numero:</font></td><td align='left'><input type='text' name='numero' size='3' title='Numero' value='<%=nn%>'></td></tr>


    Spero di esser stato abbastanza chiaro...

    Grazie

  2. #2
    Utente di HTML.it L'avatar di kava01
    Registrato dal
    Jul 2006
    Messaggi
    116
    Non ho mai fatto il catch di errori specifici in ASP ma credo che mettendo una constraint sul campo il cui valore che ti interessa che sia unico e prendendo l'errore in caso di violazione dell'unicità, puoi reindirizzare l'utente verso un apagina particolare in cui gli dici che il valore è già presente...

  3. #3
    sii più furbo del db. cercalo prima di inserirlo. se lo trovi...

  4. #4
    Utente di HTML.it L'avatar di kava01
    Registrato dal
    Jul 2006
    Messaggi
    116
    Originariamente inviato da optime
    sii più furbo del db. cercalo prima di inserirlo. se lo trovi...
    Beh certo.. era per risparmiare interrogazioni

  5. #5
    Altrimenti puoi usare il campo NON replicabile come Chiave Primaria e intercettare l'errore in ASP.

  6. #6
    Originariamente inviato da kava01
    Beh certo.. era per risparmiare interrogazioni
    sai che fatica

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    24
    Originariamente inviato da optime
    sii più furbo del db. cercalo prima di inserirlo. se lo trovi...
    Sapreste darmi qualche istruzione che fà ricerca e che dice che il record è già esistente??

  8. #8
    Originariamente inviato da emapro85
    Sapreste darmi qualche istruzione che fà ricerca e che dice che il record è già esistente??
    no, non ci posso credere... si fa con una SELECT

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    24
    Originariamente inviato da optime
    no, non ci posso credere... si fa con una SELECT
    Lo so, ci ho provato, ma mi dà sempre errore... adesso riprovo...

  10. #10
    se ci dici quale errore... se ci posti un po' di codice... se CI aiuti ad aiutarti...

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.