Newsgroup: it.comp.appl.access
Titolo: Confronto campi

Un cordiale saluto a tutti i partecipanti
A97 - Da una serie di campi in sequenza (nominati Val_1, Val_2 ecc. fino a
Val_15) presenti nello stesso record dovrei estrarre per mezzo di due campi
calcolati in una query quanto segue:
Per comprendere meglio la situazione riporto un esempio di record:
nomi campi  Val_1  Val_2  Val_3  Val_4  Val_5  Val_6  Val_7  Val_8
Valori          0-13    0-15    11-17  10-19  8-20   0-21    44-22  0-23
Primo campo calcolato: mi dovrebbe restituire il primo valore dopo il
segno - (trattino) del primo campo che non inizia con 0 (zero). Esempio di
risultato 17
Secondo campo calcolato: mi dovrebbe restituire il primo valore dopo il
segno - (trattino) dell'ultimo campo che non inizia con 0 (zero). Esempio di
risultato: 22
 
Confido come sempre nel Vostro prezioso aiuto, ringrazio in anticipo e
saluto cordialmente
   Gabriele
 
 
 

 risultato: 22
Idem come sopra
 
1 - Va bene anche codice VBA o dev'essere per forza una query?
2 - I valori 17, 22, etc poi dove si mettono?
 
Bruno
 
 

 ha scritto nel messaggio 
news:509d02eb$0$13284$4faf...@reader2.news.tin.it...

Prima di tutto ringrazio per l'interessamento.
Provo a fornire i chiarimenti richiesti:
1) Il risultato dovrebbe essere TUTTOquello che segue il trattino
2) Pensavo a due campi calcolati della query che mi restituissero i dati 
richiesti oppure ad una funzione che si possa richiamare sempre dal campo 
della query. I dati estratti non devono essere messi da nessuna parte. Mi 
basta vederli nel report che sara'  basato sulla query.
 
Spero di essere stato chiaro e confido nel Vostro aiuto
  Gabriele 
 
 

 basta vederli nel report che sara'  basato sulla query.
 
Se proprio vuoi una query... io passo la mano.
Tutto quel che posso fare è aggiungere alla tabella che contiene i dati 
due campi denominati [Left] e [Right] di significato evidente e in essi 
raccogliere le porzioni di dati selezionati.
Poi con la tabella ci fai tutte le query che ti servono.
Credo che sia la soluzione più semplice,
una decina di righe di codice...
 
Bruno
 
 

 ha scritto nel messaggio 
news:509d4982$0$13278$4faf...@reader2.news.tin.it...

Va bene. Proviamo questa soluzione.
Importante che si riesca ad estrarre i dati come ho spiegato
Mi perdonerai ma non ho la competenza sufficiente per esprimermi in modo 
appropriato.
Sono solo un appassionato di access che ogni tanto trova degli ostacoli per 
andare avanti.
 Ringrazio di nuovo
   Gabriele
 
 

 andare avanti.
 
========================================
Private Sub Command32_Click()
Dim RS As DAO.Recordset, i As Long
 
Set RS = CurrentDb.OpenRecordset("T15", dbOpenDynaset)
Do Until RS.EOF
    RS.Edit
    For i = 0 To 14
        If Left(RS(i), InStr(1, RS(i), "-") - 1) Then
            RS(15) = Right(RS(i), Len(RS(i)) - InStr(1, RS(i), "-"))
            Exit For
        End If
    Next
    For i = 14 To 0 Step -1
        If Left(RS(i), InStr(1, RS(i), "-") - 1) Then
            RS(16) = Right(RS(i), Len(RS(i)) - InStr(1, RS(i), "-"))
            Exit For
        End If
    Next
    RS.Update
    RS.MoveNext
Loop
 
End Sub
======================================
 
1 - Sostituisci "T15" col nome della tua tabella
2 - Nella quale:
    Val_1... Val_15 nei primi 15 campi
    Left, Right nei campi 16° e 17°
    (l'ordine ha importanza, i nomi no: puoi chiamrli come vuoi).
 
Bruno