Creazione query da codice con desctiption

di il
4 risposte

Creazione query da codice con desctiption

Salve

con la seguente procedura creao una query
come posso mettere la description che si visualizza accanto al nome della query via codice?

Public Sub QueryCrea(sQueryName As String, sSql As String)

Dim db As DAO.Database
' Dim qdfTemp As QueryDef ' temporanea
Dim qdfNuovo As DAO.QueryDef

Set db = CurrentDb

With db
'' Crea l'oggetto QueryDef temporaneo.
'Set qdfTemp = .CreateQueryDef("", _
' "SELECT * FROM Impiegati")
'' Apre l'oggetto Recordset e stampa il report.
'OttienirstTemp qdfTemp

' Crea un oggetto QueryDef permanente.
Set qdfNuovo = .CreateQueryDef(sQueryName, _
sSql)
---> qdfNuovo.Description = "PIPPO" ???????????????????

.QueryDefs.Refresh
.Close
End With
End Sub

4 Risposte

  • Re: Creazione query da codice con desctiption

    Per leggere il VALORE hai 2 modi:
    
    ?CurrentDb.Querydefs("Invoices").Properties("Description").Value
    ?CurrentDb.Containers("Tables").Documents("Orders").Properties("Description").Value
    Per scriverla, possono funzionare anche quelli sopra, ma a mio avviso questa è meglio:
    
    Function SetTableDescription(TableName As String, Description As String)
        Dim db  As DAO.Database
        Dim tdf As TableDef
        Dim prp As DAO.Properties
        
        Set db = CurrentDb
        Set tdf = db.TableDefs(TableName)
        
        On Error Resume Next
        tdf.Properties("Description") = Description
        
        If Err.Number = 3270 Then
            Set prp = tdf.CreateProperty("Description", _
                dbText, Description)
            tdf.Properties.Append prp
        End If
        Set db=Nothing
        Set tdf=Nothing
        Set prp=Nothing
    End Function
    Ovviamente per le Queries è equivalente, ma basati sulla Collection QUERYDEFS(...)
  • Re: Creazione query da codice con desctiption

    Grazie

    NON funziona se non c'e' del testo

    cioe' quando ricado in

    If Err.Number = 3270 Then
    Set prp = tdf.CreateProperty("Description", _
    dbText, Description)
    tdf.Properties.Append prp
    End If

    NON MI SCRIVE LA DESCRIPTION
  • Re: Creazione query da codice con desctiption

    Innanzitutto FUNZIONA.

    Se non funziona c'è un'altro problema, che non è quanto hai pensato.
    L'errore 3270 viene generato in caso la Propperty cercata non esiste e non se non c'è del TESTO, quello va gestito prima e deve evitare la chiamata.
  • Re: Creazione query da codice con desctiption

    Grazie del messaggio

    seguendo passo passo col debug vedo che se c'e' già una description tutto funzica
    quando c'e' l'errore scrive createProperty ma poi non la vedo.

    neanche chiudendo e riaprendo il database


    prova a creare una tabella o una query
Devi accedere o registrarti per scrivere nel forum
4 risposte