realbasic-nug.it
[Top] [All Lists]

Re: Secondo me, DataControl NON FUNZIONA...

To: REALbasic NUG Italian <realbasic-nug dot it at lists dot realsoftware dot com>
Subject: Re: Secondo me, DataControl NON FUNZIONA...
From: Andrea Baron <bobo at elbrigante dot it>
Date: Sat, 10 Sep 2005 12:26:46 +0200
Delivered-to: realbasic-nug dot it at lists dot realsoftware dot com
References: <23B4DEFB-F566-411C-9CD9-2D7212E35341 at tin dot it>

Il giorno 10/set/05, alle ore 11:05, Lucio Liberi ha scritto:

 che FUNZIONA BENISSIMO  se richiamata da un PushButton.

Ma se la richiamo da - MoveNext, MoveFirst ecc, del DataControl1... allora funziona bene solo al primo lancio del programma.

Mi mostra il primo record e le relative fatture. Se poi inizio a scorrere i 4 record che ho registrato con il bottoncino MoveNext
quando arriva all'ultimo, la stringa StaticText10 mi rimane a tre.
Se invece pigio il pushbutton che richiama TrovaFatture(), tutto torna a posto.

Se poi inizio a scorrere la lista all'indietro... Si, insomma il DataControl1 sembra che vada da 1 a 3...
Non ci sto capendo piu' niente.

Che qualcuno di voi avesse la pieta' di suggerirmi qualcosa?

Questo era quello che intendevo che magari il tuo refresh della lista di fatture avviene prima di aver aggiornato quel campo famoso col codice cliente. Se leggi la documentazione del DataControl leggerai a proposito di MoveXXXX: "Occurs when the XXXX Button has been pressed but before moving to the next record." Cioè quegli eventi avvengono PRIMA di spostare il cursore all'interno del recordset al prossimo record (o precedente, o ultimo, insomma quello che hai scelto :) ). Morale: questi eventi non vanno bene per chiamare il tuo metodo TrovaFatture. Quello che devi usare tu è l'evento Reposition, sempre tratto dalla Language Reference: "Occurs after initialization and when the record pointer has moved to another record."
poichè avviene dopo aver spostato il cursore nel recordset.
Inoltre direi che è inutile che per trovare il tuo id cliente tu faccia una query, perchè basta estrarre l'id direttamente dal recordset del datacontrol:
invece di

  Dim rs As RecordSet

rs=Fatturazione05.SQLSelect("Select * FROM Anagrafica WHERE _rowID="+str(DataControl1.Row))

  Cod=rs.Field("ID_Cliente").StringValue

è sufficiente

  Cod=DataControl1.RecordSet.Field("ID_Cliente").StringValue

Ciao
+=+=+=+=+=+=+=
Andrea Baron
bobo at elbrigante dot it
www.pensieriparole.it
ICQ: 47145510
+=+=+=+=+=+=+=
Per trovare un amico bisogna chiudere un occhio; per tenerlo, due. -- Norman Douglas


<Prev in Thread] Current Thread [Next in Thread>