Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630

    codice con lettera e numero progressivo

    Carissimi
    avrei bisogno di uno script che mi generi in automatico e progressivamente una numerazione simile:
    Una lettera e quattro numeri, che siano progressivi:

    A0001
    A0002
    e arrivato A9999
    riparta così
    B0001
    e così via....

    Un'altra info c'è un modo che se si liberi una numerazione, per esempio la A3480 perchè cancellata dal db, si renda nuovamente disponibile arrivati a A9999?
    Grazie
    G.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    nessun aiuto?

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Devi memorizzarti da qualche parte la lista dei codici disponibili ed eventualmente anche l'ultimo codice utilizzato

    codice:
    vecchiocodice = "A0000"
    codice = "A0001"
    ' cerco per codici disponibili
    set rs = connessione.execute("select * from tab_disponibili order by codice")
    if not rs.eof then
      codice = rs("codice")
      connessione.execute "delete from tab_disponibili where codice='" & codice & "'"
    else
      ' leggo l'ultimo codice usato e metto in vecchiocodice: 
      ' o direttamente dalla tabelle che li utilizza 
      ' o da qualche tabella d'appoggio, vedi tu
      ' poi...
      lettera = left(vecchiocodice,1)
      numero = cint(mid(vecchiocodice,2))
      numero = numero +1
      if numero>9999 then
        numero = 0 ' o 1, vedi tu
        lettera = chr(asc(lettera)+1)
      end if
      codice = lettera & right(cstr(10000+numero),2)
    end if
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    è obbligatorio avere una tabella

    1-il nuovo sarà l'ultimo+1
    2-per il recupero, quando si cancella un codice bisognerà cambiarne lo stato (da Occupato a Disponibile) così la ricerca è più veloce

    ho detto pure troppo










  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    abbandonando l'idea di capire la disponibilità di un codice, volevo fare così
    cioè prendere l'ultimo codice prelevato da db (campo riferimento)
    e aumentarlo di 1, arrivando a A9999 deve passare a B0000 etc
    codice:
    <%
    
    sql = "SELECT * FROM immobili order by riferimento asc" 
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 3, 3
    
    codices = rs.fields("riferimento")
    
      lettera = left(codices,1)
      numero = cint(mid(codices,2))
      numero = numero +1
      if numero>9999 then
        numero = 0 ' o 1, vedi tu
        lettera = chr(asc(lettera)+1)
      end if
      codice = lettera & right(cstr(10000+numero),4)
    
    
    %>
    solo che mi stampa questo: A0002
    invece di A0003 che sarebbe il numero che dovrebbe assegnare essendo lo A0002 ultimo inserito in tabella.
    Cosa sbaglio?
    Grazie
    G.

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    sql = "SELECT * FROM immobili order by riferimento DESC"
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    fantastico leggersi TUTTA la tabella per prendere solo UN valore

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.