Newsgroup: it.comp.appl.access
Titolo: Cursore in una query

Cordialita' a chi mi legge.
In apertura query (creata da codice),
e' possibile posizionare il cursore su una colonna
diversa dalla prima..?
(Mi trovo in una query creata con 5 campi di una
tabella. All'apertura della stessa, devo editare nella
quarta colonna. Sarebbe comodo avere gia' il
cursore posizionato).
Inoltre, sarebbe bello impedire che lo stesso
cursore vada negli altre colonne..E' possibile..?
Grazie in anticipo.
Antcim


Imposta a No la proprietą seleziona con tabulazione
ciao MAssimiliano
--------------------------------
Inviato via 
http://usenet.libero.it

 ciao MAssimiliano
Ciao Massimiliano.
Ho in uso access 97. Dove trovo quello che tu indichi..?
Grazie e scusa il ritardo..., qualche problemino di salute..
Cordialita'
Antcim

 ha scritto nel messaggio
news:Bagt9.24963$TD1.1...@news2.tin.it...

Se lavori direttamente sul foglio dati della query, penso che l'unica cosa
che puoi fare sia quella di creare la query mettendo in prima colonna il
campo da modificare e spostandoti da una riga all'altra con il tasto di
freccia in basso.
Altrimenti creati una maschera con visualizzazioneFoglio dati o a Maschere
continue che abbia la tua query come origine record; a questo punto a fronte
dell'evento "Su corrente" della maschera generi una riga di codice VBA che
sposta il fuoco sulla casella di testo che desideri, ovvero:
Me!NomeTuaCasellaDiTesto.SetFocus
oppure imposti a No la proprietà Abilitato e a Si la proprietà Bloccato
degli altri controlli della maschera, cos'ì, come volevi, non hai la
possibilità di andare accidentalmente sugli altri controlli.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Grazie Roberto, davvero, per la tua disponibilita'...
Ti sono debitore.
Ciao
Antcim


 le mie attuali conoscenze di Visual Basic sono scarsine.. :-(
[...]
    Scusa potresti spiegarmi, perche' non capisco questa tua esigenza.
Perche' hai bisogno di questo? Per loro natura, non c'e' mai necessita', in
una applicazione, di aprire le query bensi' maschere, report, ... *basate*
sulle query. E nelle maschere dovresti poter fare piu' o meno tutto quello
che vuoi.
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 Maurizio
Ciao Maurizio
'Inserimento attivita' svolta da varie Imprese':
Apro maschera Form1 contenente due caselle combinate.
Dalla CasComb1 scelgo la Tabella1 su cui lavorare (Impresa Pinco Pallino..).
Dalla CasComb2 scelgo il Mese del consuntivo da inserire.
Creo poi da codice una query che estrapola alcuni campi
della Tabella1 (relazionata ad un'altra Tabella2), piu' un
ulteriore campo da editare che e' il Mese (variabile presa
da CasComb2).
Creata la query la apro per editare il campo Mese, senza bisogno di
ulteriori 'pastrocchi..' :-)
Esso si trova alla sesta colonna della query. Il cursore e' sulla prima..
:-(
E' vero che potrei creare la query con il campo Mese all'inizio..e tutto
si risolverebbe..., ma, a parte la intellegibilita', il problema resta...
Spero di essermi spiegato, se no, confido in te... :-)
Davvero tanta cordialita'
Antcim
 le due informazioni
per generare una query
'Form: InserConsVari
Option Compare Database
Option Explicit
Public cQuer2
Private Sub CasComb2_AfterUpdate()
Dim dbas As Database, qdf As QueryDef, strSQL As String
Dim cQuery
Dim cQuer2
Set dbas = CurrentDb
dbas.QueryDefs.Refresh
cQuery = "QConsVari"
'cQuer2 = "QRepoVari"
For Each qdf In dbas.QueryDefs
    If (qdf.Name = cQuery) Then   'Or (qdf.Name = cQuer2) Then
         dbas.QueryDefs.Delete qdf.Name
    End If
Next qdf
cQuer2 = "QRepoVari"
For Each qdf In dbas.QueryDefs
    If qdf.Name = cQuer2 Then
        dbas.QueryDefs.Delete qdf.Name
    End If
Next qdf
Select Case Me.CasComb1.Column(3)
Case Is = "V"
     'Me.Testo101 = "Consuntivo Manutenzione Aree Verdi"
     Me.Testo101 = "CONSUNTIVO MANUTENZIONE AREE VERDI"
     FailAltri = "VERDE"
Case Is = "S"
     Me.Testo101 = "CONSUNTIVO PULIZIA STRADE E PIAZZALI"
     FailAltri = "STRADE"
End Select
strSQL = "SELECT " & _
         FailAltri & ".CICLO, " & _
         FailAltri & ".DENOMINAZI, " & _
         FailAltri & ".COS_CICL, " & _
         FailAltri & "." & Left(CasComb2, 3) & _
         " FROM " & FailAltri & ";"
Set qdf = dbas.CreateQueryDef(cQuery, strSQL)
DoCmd.OpenQuery cQuery
Chr (13)
strSQL = "SELECT " & _
         FailAltri & ".CICLO, " & _
         FailAltri & ".UBICAZIONE, " & _
         FailAltri & ".DENOMINAZI, " & _
         FailAltri & ".OPERAZIONE, " & _
         FailAltri & ".COS_CICL, " & _
         FailAltri & ".COD_FORN, FORNITOR.RAG_SOC, " & _
         FailAltri & ".ORDINE, " & _
         FailAltri & "." & Left(CasComb2, 3) & " AS MESE FROM " & _
         FailAltri & " INNER JOIN FORNITOR ON " & _
         FailAltri & ".COD_FORN = FORNITOR.CODICE;"
Set qdf = dbas.CreateQueryDef(cQuer2, strSQL)
Me.Comando1.Visible = True
Me.Comando2.Visible = True
Me.Comando3.Visible = True
Me.Comando1.SetFocus
End Sub
Private Sub Comando1_Click()
Dim stDocName
Dim strCondiz
stDocName = "ConsVari"
On Error Resume Next
DoCmd.OpenReport stDocName, acPreview, , strCondiz
End Sub
Private Sub Comando2_Click()
Dim stDocName
Dim strCondiz
stDocName = "ConsVari"
On Error Resume Next
DoCmd.OpenReport stDocName, , , strCondiz
End Sub
Private Sub comando3_Click()
DoCmd.Close
End Sub

Scusa Maurizio, dimenticavo:
Sarebbe anche bello che, oltre a posizionare il cursore
nella colonna indicata, lo stesso non possa andare sulle
altre..
(Quello che si fa nelle maschere/casello di testo abilitato=no)
Ciao
Antcim

 (Quello che si fa nelle maschere/casello di testo abilitato=no)
    Concludendo... Se, una volta scritta la query, non la distruggi ma le
cambi solo la stringa SQL... Se questa operazione non le fa perdere le
informazioni di layout... Allora... potresti bloccare le prime (6?) colonne.
Se invece perde le info di layout potresti ricrearle (?) per mezzo di:
        Sub DoMenuItem( _
            MenuBar _
          , MenuName _
          , Command _
          , [Subcommand] _
          , [Version])
            Membro di Access.DoCmd
probabilmente associato a SendKeys, come si diceva.
    Ma resto dell'idea che *questo* sia un pastrocchio. Fai prima a fare una
maschera come quella di cui discorrevi con Roberto.
    Eventualmente scegliessi questa strada illustraci l'esito delle tue
ricerche, mi raccomando.


 Scusa Maurizio, dimenticavo:
Scusa antcim, ma sei lo stesso a cui ho suggerito come fare nell'altro thread,
o è un caso di omonimia, omoemalia, omoproblemia, etc?
Ciao. Claudio.

 o è un caso di omonimia, omoemalia, omoproblemia, etc?
    Ciao Claudio. Sono andato a vedere il tuo post nel 3d... Effettivamente
o antcim ha un clone oppure, come me, non aveva letto il tuo post. Anzi,
no... Ti ha pure ringraziato di cuore. Quindi non si capisce. (Vedi cosa
succede ad aprire tutti 'sti thread, antcim!?...)


 ricerche, mi raccomando.
Grazie e a risentirci
Cordialita'
Antcim

 ha scritto nel messaggio
news:apglci$19cf5$1...@ID-52090.news.dfncis.de...

Ciao Maurizio,
Vedi la risposta data un minuto fa a Claudio
Antcim

 Se ho sbagliato, chiedo pubblicamente scusa..
Non è il caso. Mi sembrava soltanto strano che proseguissi nell'analisi del
problema. Mi è venuto il dubbio che quello che ti ho proposto non funzionasse,
o non risolvesse quello che tu chiedevi. Se è così fammelo/faccelo sapere, che
magari si trova un'altra strada (ovviamente argomentando le problematiche).
Questo è il limite di aprire più thread contemporaneamente sullo stesso
problema. Se proprio vuoi chiedere scusa, questa è la migliore ragione per
farlo :-)
Ciao. Claudio.