Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    9

    [Access 2003] info su caselle di testo

    Salve a tutti, sono nuovo ed ho già un problemino che vorrei risolvere e che vi espongo di seguito, ringraziandovi anticipatamente:
    vorrei inserire tutti i valori di un campo (nel caso si chiama ESAMI RICHIESTI) in un'unica casella di testo nel report.
    Nel dettaglio, ho una maschera dove inserisco nome, cognome, ecc., poi una sottomaschera dove inserisco più valori (ESAMI RICHIESTI) associati all'Id della maschera.
    Ora nel report vorrei visualizzare una casella di testo con tutti i valori (ESAMI RICHIESTI) selezionati nella sottomaschera separati da una virgola.
    Questo perchè possono superare il numero di 30 ed elencati vericalmente (cosa che già faccio) occuperebbero troppo spazio sulla pagina.
    E' possibile con access 2003?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Purtroppo access non mette a disposizione una funzione come group_concat() di mysql per ottenere facilmente ciò che desideri. Ti ho caricato un esempio riciclando una funzione vba che avevo usato in passato per la tua stessa esigenza.

    http://myfreefilehosting.com/f/cebf1e428b_0.22MB

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    9
    Ciao, purtroppo inserendo i miei parametri non va. Mi apre una finestra dove chiede di immettere un parametro per la funzione "concatenate" e da errore.
    I miei parametri sono:
    IDUO in "1 Scheda UO" (tabella principale)
    IDUO in "2 ValutazioneUO" (tabella collegata) realzione uno a molti.
    Nel report ho scritto:
    =Concatenate("PesoPregravidanza from 2 ValutazioneUO WHERE IDUO = " & [IDUO])
    dove [IDUO] e il campo sul report che richiama l'IDUO della tabella "1 Scheda UO".
    il report è collegato alla tabella "1 Scheda UO".
    Non va e non capisco perchè, se puoi dammi una mano. comunque tenterò variando qualche valore.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    La sintassi nel mio esempio è diversa.


    =Concatenate("select PesoPregravidanza from ValutazioneUO WHERE IDUO = " & [IDUO])

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    9
    beh si, scusa , ma il select c'è.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    9
    E' possibile che il termine "concatenate" da 2000 a 2003 sia diverso?
    Ho provato su un altro DB, ma fa sempre lo stesso errore, mi compare la finestra "immissione valore parametro" concatenate.

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ma il modulo che contiene la funzione concatenate l'hai copiato nel tuo db?
    Non è una funzione nativa di access.

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    9
    A chi potesse servire. nicola la tua stringa era corretta, solo che va caricato il modulo "concatenate" altrimenti access non riconosce la funzione.
    Funziona benissimo!
    Grazie Nicola e per chi ne vorrà far uso il modulo concatenate è il seguente:
    Function Concatenate(pstrSQL As String, Optional pstrDelim As String = ", ") As String
    Dim rs As New ADODB.Recordset
    rs.Open pstrSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    Dim strConcat As String
    With rs
    If Not .EOF Then
    .MoveFirst
    Do While Not .EOF
    strConcat = strConcat & .Fields(0) & pstrDelim
    .MoveNext
    Loop
    End If
    .Close
    End With
    Set rs = Nothing
    If Len(strConcat) > 0 Then
    strConcat = Left(strConcat, Len(strConcat) - Len(pstrDelim))
    End If
    Concatenate = strConcat
    End Function

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.