Newsgroup: it.comp.appl.access
Titolo: Metodo Find First

Ciao a tutti,
ho creato un bottone in una maschera che deve posizionarmi
ad un record specifico di un set di records.
Al click su questo bottone ,
mi appare una maschera che mi chiede di inserire il progressivo .
Vorrei
farlo posizionare sul record per trovato. Il codice è :
Strprogr =
Trim(InputBox("Immettere numero da ricercare."))
        If Strprogr <> ""
Then
        Strprogr = "rst.Fields(Progressivo) = '" & Strprogr & "'"
rst.FindFirst Strprogr
        End If
Dove rst.Fields(Progressivo) è il
campo della tabella che è NUMERICO , Strprog è il valore digitato.
Mi da
un errore :
"Operation is not supported for this type of object"
Dove
canno, secondo voi?
Grazie mille
Ronny
--------------------------------
Inviato via 
http://usenet.iol.it

 un errore :
Prova a scrivere così:
Dim rst as Recordset (DAO.Recordset se usi A2000+riferimenti a Lib DAO)
Set rst=currentdb.Openrecordset("NomeTabella")
Strprogr =Trim(InputBox("Immettere numero da ricercare."))
  If Strprogr <> "" Then
         rst.FindFirst "Progressivo =" & Strprogr 
  End If
  Me. Bookmark=rst.Bookmark
@Alex
-- 
Posted from  [146.133.1.30] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Dove canno, secondo voi?
FindFirst ha bisogno di un espressione SQL-Where:
Strprogr = "Progressivo = " & Strprogr
rst.FindFirst Strprogr
Senza ' e "'" perché dici che è numerico.
--
HTH
Karl
*********
Access-FAQ (tedesco): 
http://www.donkarl.com

via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Ciao, sai che ancora
non funzia? Sembra che il mio set di records non sia abilitato al Find
First.
Eppure l'ho dichiarato con la Set...
Ci sono altri modi per
raggiungere lo scopo che mi sono prefissato?
Grazie mille a tutti.


 
Usi A2000 o A97..????


via Mailgate.ORG
Server - 
http://www.Mailgate.ORG
--------------------------------
Inviato via 
http://usenet.iol.it
 

 Ronny
L'help specifica chiaramente che i metodi Find:
=============
Individuano il primo, l'ultimo, il successivo o il precedente record in un
oggetto Recordset di tipo DYNASET o di tipo SNAPSHOT che soddisfa i criteri
specificati e lo rendono il record corrente.
=============
Non puoi usarlo con un recordset di tipo tabella cosě come stai facendo tu.
Prova ad aprire il recordset come dynaset.
Al limite lo puoi usare su un recordsetclone.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 
Si, se usavi A2000 avresti avuto dei problemi, con A97 deve andare...!
Controlla se nei Riferimenti aprendo un Modulo, o una Form in Programmazione
vai nel Menų strumenti--->Riferimenti, controlla che ci sia tra i primi e
FLAGGATI
il Riferimento a:
Microsoft DAO 3.51 Object Library
Se non ci fosse, cercalo, FLAGGALO e premi OK...!
E' l'unico motivo che possa spiegare l'assenza del Metodo FINDFIRST...!
@Alex


 
OPS...!!
   rst=Currentdb.Openrecordset("Tabella",dbOpenDynaset)
Dimenticanza, anche se effettivamente il RECORDSETCLONE è già fatto...!
Ciao Roberto.


via
Mailgate.ORG Server - 
http://www.Mailgate.ORG
Innanzitutto grazie a tutti
per le risposte precedenti,
aprendo il recordset come Dynaset, non ho più
l'errore sulla FindFirst, perchè però non riesco comunque a riempire i
valori della maschera con il record trovato tramite FindFirst della tabella
anche eseguendo la routine di valorizzazione campi maschera da campi
tabella?.
Il codice della findirst è :
Strprogr =
Trim(InputBox("Immettere numero da ricercare."))
        If Strprogr <> ""
Then
        rst.FindFirst "Progressivo =" & Strprogr
        Endif
Rimane sempre visualizzato il primo record
Grazie e portate pazienza, vi
prego   :-) .
Ronny.


 Rimane sempre visualizzato il primo record
Allora come SAGGIAMENTE ti ha consigliato Roberto conviene utilizzare
per questa opreazione il RecordsetClone della Form, a questo punto
devi modificare la riga di settaggio di rst:
Set rst=me.recordsetclone
Strprogr =Trim(InputBox("Immettere numero da ricercare."))
If Strprogr <> "" Then
   rst.FindFirst "Progressivo =" & Strprogr
   'Ora devi aggiornare il puntatore con la seguente riga   
   Me.Bookmark=rst.Bokmark
Endif
Ciao @Alex
