Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB 6.0] aggiunta ID cliente

    Scusate il titolo ma non so come spiegarlo.

    Praticamente devo far si che in un form linkato ad un DataBase quando faccio invio da un textbox un label prenda lo stesso numero che è nella textbox ( e fino a qui ci sono riuscito tranquillamente) il problema è che gli ID devono essere a 4 cifre e se ad esempio un ID è 1 esce fuori
    0001
    e fino a qui tutto bene
    ma nel momento in cui inserisco un numero a 2 cifre ES. : 25
    invece di scrivermi 0025 mi scrive cmq 00025
    ho provato in mille modi, vi scrivo qui sotto il tentativo mio, anche se sicuramente è totalmente errato
    codice:
    If txtNumero = Len(txtNumero.Text) = 2 Then
        txtID.Text = "00" & (txNumero.Text + 1)
        Else
    txtID.Text = "000" & (txtNumero.Text + 1)
    Spero possiate aiutarmi

  2. #2
    il tuo codice è errato prima di tutto perchè manca la chiusura dell'if e poi perchè la condizione non è corretta.

    Questo è il codice aggiustato:
    - Text1 è la text box contenente il codice
    - Label1 è la label in cui scrivo il codice con gli zeri
    codice:
    Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
        ' verifica che il tasto cliccato sia "Invio"
        If KeyCode = vbKeyReturn Then
            If Len(Text1.Text) = 2 Then
                Label1.Caption = "00" & (Text1.Text + 1)
            Else
                Label1.Caption = "000" & (Text1.Text + 1)
            End If
        End If
    End Sub
    Fammi capire una cosa: perchè metti "+ 1" se devi ottenere lo stesso numero della text solo preceduto dagli zeri? Così come hai scritto, se nella Text ci sta 2 nella Label otterrai 0003... :master:

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  3. #3
    il fatto di avere 0003 è che praticamente quando faccio nuovo utente non sono riuscito a fargli leggere l'ultimo record di ID in un DB allora lo scrivo solo la prima volta e il passaggio è il seguente

    ID Iniziale: "0001" 'TxtID.text
    Click Nuovo Record
    LblID.caption = (txtID.text + 0) 'Cosi diventa 1

    -------------------------------
    ID Secondario : "" 'TxtID.text
    Click Salva
    txtID.text = "000" & (lblID.Caption + 1) 'Ora mi diviene 0002
    -------------------------------
    ID Secondario : "0002"

    spero che tu abbia capito cosa intendo, sono un cane a spiegare le cose :P
    se invece chiedi il xkè dei 3 zeri o i 2 zeri è xkè mi resta più facile successivamente stampare le etichette xkè mi serve per un'associazione e che mi venga scritto "Codice Cliente : 1" mi pare brutto invece se esce "Codice Cliente: 0001" fa + figo :adhone:

    P.S. : Grazie mille Sei una grande :P

  4. #4
    ci sarebbe un problemino, di logica, piu che altro...

    se l'ID ha 3 cifre o ne ha 4...tutto è sballato...e non puoi aggiungere altri rami else xkè sarebbe da pazzi...
    utilizza una semplicissima funzione ke aggiunge 4 zeri e poi prende in considerazione solo le ultime 4 cifre (ovvero le prima 4 da destra)
    codice:
    label.caption=right("0000" & numerokevuoi,4)
    by giuSp [.NetDeveloper]

    ___________
    un po' di VB non fa male!....?
    C# more power to you!!

  5. #5
    Originariamente inviato da Pestilence
    il fatto di avere 0003 è che praticamente quando faccio nuovo utente non sono riuscito a fargli leggere l'ultimo record di ID in un DB allora lo scrivo solo la prima volta e il passaggio è il seguente

    ID Iniziale: "0001" 'TxtID.text
    Click Nuovo Record
    LblID.caption = (txtID.text + 0) 'Cosi diventa 1

    -------------------------------
    ID Secondario : "" 'TxtID.text
    Click Salva
    txtID.text = "000" & (lblID.Caption + 1) 'Ora mi diviene 0002
    -------------------------------
    ID Secondario : "0002"

    spero che tu abbia capito cosa intendo, sono un cane a spiegare le cose :P
    Per leggere l'ultimo ID inserito nel database ti basta fare una SELECT:
    codice:
    Private Sub NuovoUtente()
       Dim adoRS As New ADODB.Recordset
       Dim strSQL As String
       Dim lngIDMax As Long
    
       strSQL = "SELECT Max(ID) As Valore From NomeTabella"
       Set adoRS = Connessione.Execute(strSQL)
       lngIDMax = adoRS("Valore")
       Set adoRS = Nothing
       'scrive l'id successivo all'ultimo presente sul database
       Text1.Text = lngIDMax + 1 
    End Sub
    e una volta letto l'ultimo puoi scriverlo nella textbox e nella label.

    Spero sia ciò che ti serve

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

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.