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 - Mostra contenuto campo database tramite valore in textbox
Forum - Visual Basic 6 - Mostra contenuto campo database tramite valore in textbox

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
satriano (Normal User)
Newbie


Messaggi: 15
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 19:55
Martedì, 19/05/2009
Buonasera
Scusate il titolo strano del topic ma non ho saputo fare meglio.

Ho una piccola database access con i 2 campi:
VALORE (numerico)
TESTO (text)
Ho un centinaio di records.

Su un form ho:
un controllo DATA collegato al database tramite databasename
Text1.text collegato al field WAARDE del database
TEXT2.text  collegato al field TESTO del database.

La mia domanda é:

E’ possibile, inserendo manualmente nel  text1.text un valore, per esempio 25
far visualizzare automaticamente il contenuto del field TESTO in text2.text  del record corrispondente?
Se si, con quale sintassi da scrivere per Text1.text ?

Grazie infinite
satriano

Ultima modifica effettuata da satriano il 19/05/2009 alle 19:57
PM Quote
Avatar
marco_grillo (Member)
Rookie


Messaggi: 33
Iscritto: 22/04/2009

Segnala al moderatore
Postato alle 20:20
Martedì, 19/05/2009
Buonasera...
a prescindere dal fatto che non capisco il field WAARDE del database passiamo al codice.

Ipotizziamo che inserendo un valore nella text1 premiamo un bottone per avviare la ricerca:

sottointendiamo la parte di accesso al database
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Command1_Click()
  2. While rs.EOF = False
  3.     If rs("WAARDE").Value = val(text1.text) Then
  4.        text2.text=rs("TESTO").value
  5.     end if
  6.     rs.MoveNext
  7. Wend
  8. End Sub



Ovviamente avrai problemi nella visualizzazione del contenuto di text2.text se qualora nel campo WAARDE avessi uguale il contenuto di text1.text. Per farti un esempio:
Se nel tuo database hai i seguenti valori:
WAARDE: 25 TESTO: prova 1
WAARDE: 13 TESTO: prova 2
WAARDE: 25 TESTO: prova 3

e se cerchi il valore 25 nella text2 avrai come valore prova 3, cioè l ultimo valore dei record che hai nel database. Io ti consiglio per evitare ciò di sostituire la seconda textbox con una listbox, avendo kos l'elenco completo di tutti i tuoi valori corrispondenti al paramento di ricerca.

Il codice nel caso in cui volessi utilizzare la listbox è:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Command1_Click()
  2. While rs.EOF = False
  3.     If rs("WAARDE").Value = val(text1.text) Then
  4.        list1.additem rs("TESTO").value
  5.     end if
  6.     rs.MoveNext
  7. Wend
  8. End Sub



Beh... spero d essere stato chiaro ma ovviamente per qualsiasi dubbio non esitarmi nel chiedere spiegazioni.. a presto, ciao

Ultima modifica effettuata da marco_grillo il 19/05/2009 alle 20:21
PM Quote
Avatar
satriano (Normal User)
Newbie


Messaggi: 15
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 20:31
Martedì, 19/05/2009
Ciao marco grillo

Ti ringarzio della risposta
Scusa la la parola WAARDE in realtà volevo scrivere VALORE

Provero' il tuo suggerimento e ti faccio sapere.
Spero soltanto che il tuo esempio funziono, in quanto io sto usando
(ancora) Vb6 !!

ti faccio sapere

satriano

PM Quote
Avatar
marco_grillo (Member)
Rookie


Messaggi: 33
Iscritto: 22/04/2009

Segnala al moderatore
Postato alle 20:42
Martedì, 19/05/2009
immaginavo ke fosse VALORE ;)

Comunque il codice da me postato è in vb6!

Se hai problemi kiedi pure :k:

PM Quote
Avatar
satriano (Normal User)
Newbie


Messaggi: 15
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 20:42
Martedì, 19/05/2009
Ho appena provato ma ricevo errore 424, objet required
riferito al rigo

While rs.EOF = False

grazie

ps.non credo abbia fatto qualcosa di sbagliato nel database o nel collegamento in quanto se uso il database SOLTANTO con il controllo DATA i dati vengono visualizzati correttamente net textbox.

Ultima modifica effettuata da satriano il 19/05/2009 alle 20:57
PM Quote
Avatar
marco_grillo (Member)
Rookie


Messaggi: 33
Iscritto: 22/04/2009

Segnala al moderatore
Postato alle 20:57
Martedì, 19/05/2009
oggetto mancate...!!!

Per connettermi al database io faccio:

Codice sorgente - presumibilmente VB.NET

  1. Set cn = New ADODB.Connection
  2. Set rs = New ADODB.Recordset
  3. Dim strConnection As String
  4.  
  5. strPercorsoDB = App.Path & "\nomedatabase.mdb"
  6. strConnection = "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPercorsoDB & ";;Jet OLEDB:Database Password="
  7. cn.Open (strConnection)
  8.        
  9. rs.Open "SELECT * FROM nometabella", cn, 1
  10.  
  11. While rs.EOF = False
  12.      istruzioni precedenti
  13. Wend



Usi questa sequenza di codice per connetterti al database??

PM Quote
Avatar
satriano (Normal User)
Newbie


Messaggi: 15
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 21:05
Martedì, 19/05/2009
No in quanto , come detto io uso il metodo vecchio con DATA !
quindi io il collegamento lo faccio non da codice ma tramite le proprietà
del controllo DATA.

Non uso e non so usare ADO o DAO

PM Quote
Avatar
marco_grillo (Member)
Rookie


Messaggi: 33
Iscritto: 22/04/2009

Segnala al moderatore
Postato alle 21:15
Martedì, 19/05/2009
beh... cerca d usare le ADO o DAO sn molto + efficaci...

PM Quote
Avatar
satriano (Normal User)
Newbie


Messaggi: 15
Iscritto: 13/05/2009

Segnala al moderatore
Postato alle 21:17
Martedì, 19/05/2009
ok, allora devo vedere di farmi un po la mano con Ado o dao.

Conservero' comunque i tuoi prezionisi suggerimenti e li usero.

grazie per l'attenzione e l'aiuto.

ciao
satriano

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo