Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 -  (vb6)Mostra contenuto campo database tramite valore con decimali in textbox
Forum - Visual Basic 6 - (vb6)Mostra contenuto campo database tramite valore con decimali in textbox

Avatar
satriano (Normal User)
Newbie


Messaggi: 15
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 16:01
Venerdì, 22/05/2009
salve
Questo problemino é un seguito di un topic risolto ( Mostra contenuto campo database tramite valore in textbox) di una settimana fa;

Infatto é stato risolto in quanto sono passato al controlo ADO invece del vecchio data.
Ok
Con il seguente codice viene mostrato dunque il contenuto di un campo database (NUMERO)
in un text2.box.
Questo dunque funziona. Il campo NUMERO é numerico e con doppia precisione.
Poi vi é il campo PATOLOGIA che contiene dei valori testo;
Ma il valore di NUMERO  a volte é con dei decimali, per esempio 12,123. In questo caso
se il valore é intero mi viene mostrato il contenuto del record. Se il valore assegnato al record é Numero=12,123  Patologia=Mano non mi viene mostrato nulla, a causa della virgola.
nb. il valore con la virgola, se presente, é necessario, non posso eliminare la virgola.
Si puoi risolvere ?
grazie

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Command1_Click()
  2. Set cn = New ADODB.Connection
  3. Set rs = New ADODB.Recordset
  4. Dim strConnection As String
  5.  
  6. strPercorsoDB = App.Path & "\Aldo.mdb"
  7. strConnection = "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPercorsoDB & ";;Jet OLEDB:Database Password="
  8. cn.Open (strConnection)
  9.          
  10. rs.Open "Select * FROM malattie", cn, 1
  11. While rs.EOF = False
  12.     If rs("Numero").Value = Val(Text1.Text) Then
  13.        Text2.Text = rs("Patologia").Value
  14.     End If
  15.     rs.MoveNext
  16. Wend
  17.  
  18. End Sub


Ultima modifica effettuata da satriano il 22/05/2009 alle 16:04
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 16:11
Venerdì, 22/05/2009
Sostituisci la Val con la CDbl

PM Quote
Avatar
satriano (Normal User)
Newbie


Messaggi: 15
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 16:36
Venerdì, 22/05/2009
Purtroppo non va ancora,
pur sostituendo val con CDbl

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 16:42
Venerdì, 22/05/2009
Testo quotato

Postato originariamente da satriano:

Purtroppo non va ancora,
pur sostituendo val con CDbl



Cosa non va?

Fai un po' di debugging ... esegui passo passo il codice ed esamina il contenuto di ogni variabile e campo ... troverai il problema.

PM Quote
Avatar
satriano (Normal User)
Newbie


Messaggi: 15
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 16:48
Venerdì, 22/05/2009
Non va nel senso che non mostra, digitando il valore con la virgola, il corrispondente testo.

ok faccio un po di debugging.

grazie
satriano

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 16:52
Venerdì, 22/05/2009
Se Numero e' un campo di tipo stringa nel tuo db, prova a scrivere la If in questo modo

If CDbl(rs("Numero").Value) = CDbl(Text1.Text) Then

Ultima modifica effettuata da theprogrammer il 22/05/2009 alle 16:53
PM Quote
Avatar
satriano (Normal User)
Newbie


Messaggi: 15
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 16:57
Venerdì, 22/05/2009
Ok, funziona !!
Il problema era:

Se il valore é 12,12 ma io inserisco solo 12,1 allora non mostra nulla.(infatti a 12,1 non corrisponde nulla)

E' necessario ovviamente che TUTTO il valore venga inserito, quindi 12,12 ed allora mostra il contenuto.
Ok

Grazie infinite per l'aiuto.
Funziona perfettamente !

PM Quote
Avatar
marco_grillo (Member)
Rookie


Messaggi: 33
Iscritto: 22/04/2009

Segnala al moderatore
Postato alle 17:58
Venerdì, 22/05/2009
Hey satriano...
te l'avevo detto che ti non complicavi la vita nella maniera che ti dicevo... :k:

Bravo theprogrammer ;)

Alla prossima, ciao 8-)

PM Quote