Newsgroup: it.comp.lang.visual-basic
Titolo: Problema con Database

Scusate ma sto imparando :-)
Creo al caricamento di un form un Database con 2 tabelle (cliente e
operazioni)
ogni volta che un cliente compie una transazione vorrei che fosse
memorizzata nel db
la tabella Cliente ha 3 campi
ID (key)
Cognome
Nome
la tabella Operazione ha 2 campi
Data Operazione
Importo speso
Al momento il tutto funziona ma se lo stesso cliente fa 10 operazioni
ovviamente
il record viene scritto 10 volte nella tabella Cliente...
(e forse potrebbe non essere un problema anche se preferirei che non mi
ripetesse inutilmente la stessa cosa)
Il problema maggiore e' che non ho capito come fare per fare una ricerca
...esempio :
digito il cognome e nome di un cliente in 2 campi text ed al click di un
pulsante
vorrei visualizzare una griglia con le sole sue operazioni.
Vi ringrazio anticipatamente...
Marco

 wrote in message
news:pBzz7.43514$1H1.5...@news.infostrada.it...


 ha scritto nel messaggio
news:sMzz7.8439$V75.1...@news1.tin.it...


 ha scritto nel messaggio
news:pBzz7.43514$1H1.5...@news.infostrada.it...


C'e' un errore di sintassi...
da Operazioni in poi scrive tutto in rosso...
rs.Open "SELECT [DataOperazione] as Data, [ImportoSpeso] as Importo FROM "
Operazione Inner Join Clienti ON Operazione.IDCliente=Clienti.ID Where
Cognome='" & txtCognome.text & "' AND Nome='" & txtNome.text &
"'",conn,adOpenStatic
P.S. o sono io che non ci ho capito un granche'....sorry

 ha scritto nel messaggio
news:GiAz7.43751$1H1.5...@news.infostrada.it...


 ha scritto nel messaggio
news:9qmkpa$8mu$1...@nreada.inwind.it...


Se elimino la seconda tabella e scrivo tutto sulla prima diventa piu'
semplice?
Tralasciando il problema che scrivendo ogni volta i dati del cliente il
database cresce a dismisura... :-)))
Questo e' quanto ho scritto finora...
Ciao
----------------------------------------------------------------------------
----
Private Sub Command1_Click()
Dim rs As New ADODB.Recordset
Dim db_file As String
Dim conn As ADODB.Connection
    db_file = App.Path
    If Right$(db_file, 1) <> "\" Then db_file = db_file & "\"
    db_file = db_file & "dati2001.mdb"
    Set conn = New ADODB.Connection
    conn.ConnectionString = _
        "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & db_file & ";" & _
        "Persist Security Info=False"
    conn.Open
  rs.Open "SELECT [DataOperazione] as Data, [ImportoSpeso] as Importo FROM"
Operazione Inner Join Cliente ON Operazione.IDCliente=Clienti.ID Where
Cognome='" & txtCognome.Text & "' AND Nome='" & txtNome.Text & "'", conn,
adOpenStatic
fgtabella.Rows = 1
Do While Not rs.EOF
    fgtabella.AddItem rs!data & vbTab & rs!Importo
    rs.MoveNext
Loop
rs.Close
conn.Close
Set rs = Nothing
End Sub

 ha scritto nel messaggio
news:j8Cz7.44420$1H1.5...@news.infostrada.it...


 ha scritto nel messaggio
news:9qmu67$f77$1...@nreada.inwind.it...


 ha scritto nel messaggio
news:mnDz7.44901$1H1.5...@news.infostrada.it...


rs.Open "SELECT [DataOperazione] as Data," _
& " [ImportoSpeso] as Importo FROM" _
& " Operazione Inner Join Cliente" _


 ha scritto nel messaggio
news:9qndtp$sgp$1...@nreada.inwind.it...


la flexgrid la devi collegare al recordset naturalmente ...
anzi devi usare una MSHFlexGrid così:
vai su progetto->Componenti->Seleziona MS MSHFlexGrid 6.0
vai su progetto->Componenti->MS ActiveX Data Object
inserisci la Hflexgrid sul form e chiamala FGTabella
inserisci l'AdoDc sul form e chiamalo adoTabella
poi:
strDatabase="C:\archivio.mdb"
set MSHFlexGrid.DataSource=adoTabella (non ricordo se set è obbligatorio o
no)
adoTabella.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0" _
    & ";Data Source='" & strDatabase & "'"
adoTabella.RecordSource= "SELECT [DataOperazione] as Data," _
    & " [ImportoSpeso] as Importo FROM" _
    & " Operazione Inner Join Cliente" _
    & " ON Operazione.IDCliente=Clienti.ID" _
    & " Where Cognome='" & txtCognome.Text _
    & "' AND Nome='" & txtNome.Text & "'",conn,adOpenStatic
adoTabella.Refresh
CIAO

     & "' AND Nome='" & txtNome.Text & "'",conn,adOpenStatic
evidenzia la , prima di conn "ERRORE PREVISTA FINE ISTRUZIONE"
Scusami ma praticamente e' la prima volta che uso una tabella...una
connessione ad un database ecc.
Il manuale di VB in mio possesso non e' esauriente sull'argomento ne ci sono
esempi da cui prendere spunto.
CIAO
P.S se vuoi puoi rispondere sull'altro MSG...li' c'e' tutto il codice della
pagina...