Problema Stampa unione in Publisher - Non carica immagini

di il
2 risposte

Problema Stampa unione in Publisher - Non carica immagini

Buongiorno a tutti,
Sono nuovo del Forum, probabilmente il problema è già stato trattato qui ma ho fatto una ricerca e non ho trovato nulla a riguardo.

Il punto è questo, ho creato un file Publisher per la stampa di tesserini di riconoscimento, il quale a sua volta carica i dati da una vista SQL opportunamente alterata di volta in volta e prende tutti i campi unione assegnati compresa un'immagine inserita nella vista come collegamento ipertestuale.

Se apro il file publisher senza passare da codice questo carica tutti i dati (nome, cognome, ecc...) compresa la foto, e fin qui tutto bene.

Nel momento in qui passo da codice (Vb.net), ovvero altero la vista con i dati giusti, apro il file, lo esporto come PDF, il file presenta tutti i dati tranne la foto. (premetto che nella versione precedente in VBA funzionava tutto).

Qualcuno riesce ad essermi gentilmente d'aiuto?....

ve ne sarei davvero grato perchè non riesco a venirne a capo

di seguito il codice

Private Sub BtnStampaTesserino_Click(sender As Object, e As EventArgs) Handles BtnStampaTesserino.Click

Dim stringaAlterView As String
Dim appPub As New Microsoft.Office.Interop.Publisher.Application
Dim nomeFile As String

stringaAlterView = "ALTER VIEW [StampaTesserini] AS SELECT [COGNOME],[NOME],[CF],[NATO IL],[NATO A],[PROV/NAZ], " _
& "[ASS],[SCAD_CONTR],[COLL_FOTO] FROM [Dipendenti_Amm] WHERE CF IN ('" & cbo0.Text & "')"

nomeFile = ("Z:\02. Tecnico\00. DATABASE TECNICO\01. TESSERINI DIPENDENTI\" & cbo1.Text + " " + cbo2.Text & ".pdf")

If sqlconn.State = ConnectionState.Open Then sqlconn.Close()
sqlconn.Open()
Dim Comando As New SqlCommand(stringaAlterView, sqlconn)
Comando.ExecuteNonQuery()
sqlconn.Close()


appPub.ActiveWindow.Activate()
appPub.ActiveWindow.Visible = False

appPub.Open(Filename:="Z:\02. Tecnico\00. DATABASE TECNICO\01. TESSERINI DIPENDENTI\LIBRERIE\TESSERINO P.EDILE - STAMPA UNIONE2.pub",
ReadOnly:=True, AddToRecentFiles:=False, SaveChanges:=PbSaveOptions.pbDoNotSaveChanges)

appPub.ActiveDocument.ExportAsFixedFormat(PbFixedFormatType.pbFixedFormatTypePDF, nomeFile)

appPub.ActiveDocument.Close()
appPub.Quit()

Process.Start(nomeFile)

End Sub

2 Risposte

  • Re: Problema Stampa unione in Publisher - Non carica immagini

    Lucifero73 ha scritto:


    
            stringaAlterView = "ALTER VIEW [StampaTesserini] AS SELECT [COGNOME],[NOME],[CF],[NATO IL],[NATO A],[PROV/NAZ], " _
            & "[ASS],[SCAD_CONTR],[COLL_FOTO] FROM [Dipendenti_Amm] WHERE CF IN ('" & cbo0.Text & "')"
    
    A me sembra che la stringa non sia corretta.
    Dopo [PROV/NAZ], " _
    c'è una & commerciale

    Che per me non dovrebbe esserci.
    A cosa serve?

    Dovresti abituarti a formattare le stringhe SENZA utilizzare l'underscore di 'a capo' perché serve solo a generare confusione.
    Personalmente uso sempre una variabile di appoggio:
    
    Dim sql As String
    sql = "ALTER VIEW [StampaTesserini] AS"
    sql = sql & " SELECT [COGNOME],[NOME],[CF],[NATO IL],[NATO A],[PROV/NAZ]"
    sql = sql & " [ASS],[SCAD_CONTR],[COLL_FOTO]"
    sql = sql & " FROM [Dipendenti_Amm]"
    sql = sql & " WHERE CF IN ('" & cbo0.Text & "')"
    
    Notare sempre la presenza dello spazio all'inizio di ogni stringa!
    Ciò rende più semplice e leggibile la query anche in fase di manutenzione.

    Poi, ma solo in fase di sviluppo, mi faccio mostrare il contenuto della variabile sql, così controllo se ho scritto tutto in modo corretto, con un break prima di proseguire. Una volta verificata la correttezza e l'esito della query, non mi servirà più (a meno che successivamente debba modificare un'altra volta alla query).
  • Re: Problema Stampa unione in Publisher - Non carica immagini

    Grazie mille LeoFar, il tuo consiglio è stato utilissimo, anche per quanto riguarda la composizione delle stringhe, effettivamente il tuo metodo è più pulito e oltretutto di più facile lettura e controllo.
Devi accedere o registrarti per scrivere nel forum
2 risposte