Tiago Simões Marques Posted March 16, 2012 Report Share Posted March 16, 2012 Ao longo dos tempos tenho procurado varias maneiras de exportar para pdf e exprimentei várias, desde CrystalReports até ITextSharp. Então surgiu-me a seguinte ideia(não sei se alguém já fez isto). 1º Criei uma base de dados em Access. 2º Criei uma tabela com os campos que necessitava para o pdf. 3º Criei um Relátorio com os campos da tabela. 4º Criei uma macro para exportar o relatório para pdf para a pasta C: 5º Adicionei um módulo ao vb com o nome "criarpdf", adicionei o seguinte código. Imports Microsoft.Office.Interop Module criarpdf Sub PDFRelatorio() Dim Adb As New Access.Application Adb.OpenCurrentDatabase(Application.StartupPath & "\" & "Database1.accdb") Adb.DoCmd.RunMacro("criarelatorio") Adb.CloseCurrentDatabase() Adb.Quit() End Sub End Module 6º Adicionei a Referência "Microsoft Access 14.0 Object Library" 7º Agora é só mandar o vb ir buscar o ficheiro ao c: e perguntar ao utilizador onde quer guardar. Espero que Gostem EDIT: GeSHi adicionado Tiago Simões Marques Link to comment Share on other sites More sharing options...
Caça Posted March 16, 2012 Report Share Posted March 16, 2012 Não acho a mais fácil, uma vez que o mais certo é uma dia mais tarde teres dores de cabeça por causa da referencia "Microsoft Access 14.0 Object Library", basta o utilizador final ter uma versão do office diferente dessa para os problemas começarem... Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Tiago Simões Marques Posted March 16, 2012 Author Report Share Posted March 16, 2012 Não acho que virás a ter problemas se utilizares sempre a mesma basedados. E acho mais fácil que o crystal reports, porque se o utilizador já tiver outro programa a utilizar crytalreports ai vais ter problemas. E o ITextSharp tens que fazer muito código. Por isso é que eu considero a maneira mais fácil Tiago Simões Marques Link to comment Share on other sites More sharing options...
Caça Posted March 16, 2012 Report Share Posted March 16, 2012 Eu só estou a dizer que nem sempre a maneira que parece ser mais fácil é realmente a mais fácil. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Tiago Simões Marques Posted March 16, 2012 Author Report Share Posted March 16, 2012 Também ainda não tive muito tempo para exprimentar. Mas até agora não tenho tido problemas Tiago Simões Marques Link to comment Share on other sites More sharing options...
edmolko Posted March 16, 2012 Report Share Posted March 16, 2012 Adicionei a Referência "Microsoft Access 14.0 Object Library" Em vez de utilizares diretamente classes dessa dll, declara tudo como object, desta forma não precisas de adicionar essa library como referência, e a aplicação fica independente da versão do office/access que o utilizador final tenha instalado. Link to comment Share on other sites More sharing options...
Tiago Simões Marques Posted March 16, 2012 Author Report Share Posted March 16, 2012 Por acaso não me lembrei disso. Obrigado Tiago Simões Marques Link to comment Share on other sites More sharing options...
edmolko Posted March 16, 2012 Report Share Posted March 16, 2012 O único senão de declarares tudo como object é a perda das sugestões do intellisense, por isso é aconselhável só passares tudo para object depois de teres o código feito 🙂 Link to comment Share on other sites More sharing options...
Caça Posted March 16, 2012 Report Share Posted March 16, 2012 Mesmo assim podes ter problemas. Eu desaconselho totalmente a dependência do office numa aplicação, a não ser que essa aplicação tenha obrigatoriamente que trabalhar com o office. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
jpaulino Posted March 16, 2012 Report Share Posted March 16, 2012 Porque não usas o CrystalReports (como já referiste) ou Reporting Services? Link to comment Share on other sites More sharing options...
Tiago Simões Marques Posted March 16, 2012 Author Report Share Posted March 16, 2012 Não utilizo crystalreports porque se o utilizador já tiver outra a aplicação que utilize o crystalreports, tenho obrigatoriamente de utilizar a mesma versão que ele. Caso contrario ao instalar uma versão mais recente pode causar problemas na outra aplicação. Tiago Simões Marques Link to comment Share on other sites More sharing options...
Caça Posted March 16, 2012 Report Share Posted March 16, 2012 Utiliza Reporting Services e leva as dll's junto ao exe tua aplicação que não tens esse tipo de problemas. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Blackvelvet Posted March 19, 2012 Report Share Posted March 19, 2012 Boas a todos Aproveito o topico para fazer a seguinte pergunta: O topico que o camarada Tiago Simões Marques abriu, serve para criar relatorios em pdf,se bem entendi,certo? Então, eu tenho umas facturas e queria guarda-las em BD e ao mesmo tempo gravar em pdf. Com o codigo que o camarada Tiago Simões Marques colocou, isso é possivel? A minha bd é em SQL Cumprimentos Link to comment Share on other sites More sharing options...
Caça Posted March 19, 2012 Report Share Posted March 19, 2012 Em principio sim, mas como podes ler no tópico, pode não ser a melhor solução. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Blackvelvet Posted March 19, 2012 Report Share Posted March 19, 2012 Eu ja li o topico e fiquei meio confuso. Isto porque eu não percebo muito de vb e o forum tem-me ajudado imenso nesse aspecto. E no estagio que estou a realizar, pediram-me para criar um botão em que desse para guardar as facturas ,dos computadores comprados, em pdf. Então tenho um form em que tenho 2 textbox: 1 com numero de factura outro com fornecedor e um Calendario. Preenche-se as textbox e seleciona-se uma data. Até aqui está a dar tudo bem,porque está a guardar na bd, a minha maior dificuldade é colocar o mesmo botão que insere na bd,gravar em pdf. Fiz-me entender? Ja percorri varios foruns e sites e cada vez fico mais confuso. Quando li este topico pareceu-me ser o mais facil para mim. Que opinião,me dão? Link to comment Share on other sites More sharing options...
Caça Posted March 19, 2012 Report Share Posted March 19, 2012 Eu já dei a minha opinião no tópico, Reporting Services ou ITextSharp . Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Blackvelvet Posted March 20, 2012 Report Share Posted March 20, 2012 Eu já dei a minha opinião no tópico, Reporting Services ou ITextSharp . 😁 😁 😉😛 Link to comment Share on other sites More sharing options...
Tiago Simões Marques Posted March 22, 2012 Author Report Share Posted March 22, 2012 Caro Caça, Devo disser que não conheço os Reporting Services, podes postar aqui um tutorial ou um exemplo. Cumprimentos, Tiago Simões Marques Link to comment Share on other sites More sharing options...
Tiago Simões Marques Posted March 22, 2012 Author Report Share Posted March 22, 2012 Caro Blackvelvet, O codigo que eu postei tens que criar uma bd em MDB que vai ter uma tabela com os campos que tu queres. Ou seja inseres um registo na tu bd em SQL e outro na bd MDB Cumprimentos, Tiago Simões Marques Link to comment Share on other sites More sharing options...
Caça Posted March 22, 2012 Report Share Posted March 22, 2012 Caro Caça, Devo disser que não conheço os Reporting Services, podes postar aqui um tutorial ou um exemplo. Cumprimentos, http://www.jorgepaulino.com/search/label/Microsoft%20Reports Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now