-
Total de itens
574 -
Registro em
-
Última visita
Tudo que Danleonhart postou
-
(Resolvido) Exportando (salvando) relatorio em ".xls" Excel.
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
:unsure: Pessoal... Já batí cabeça demais e não conseguí...mudei o script em relação ao do início do tópico e não obtive o resultado esperado...então, venho pedir novamente ajuda a vocês... Seguinte: Tenho um projeto onde uso ADO para conectar-se a um BD e carrego um RecordSet (RS)...até aí beleza... Coloquei uma opção para carregar o "RS" para uma Planilha Excel...carregar até que carrega, porém, se o usuário colocar para recarregar novamente surge um erro: ------------------------------------------------- "Run time error '1004' Method 'Range' of object'_Global' failed" -------------------------------------------------- e aponta para a linha do scrip marcada abaixo (segue o novo script que fiz para a tarefa): Private Sub cmd_T_Click() Dim sql As String Dim I As Integer Dim AplExcel As Excel.Application ' Aplicação Dim BokExcel As Excel.Workbook ' Arquivo Dim ShtExcel As Excel.Worksheet ' Planilha Set AplExcel = New Excel.Application Set BokExcel = AplExcel.Workbooks.Add Set ShtExcel = BokExcel.Sheets(1) 'define o cabeçalho das células no excel Range("A1").Value = "ID:" <== O ERRO APONTA PARA ESTA LINHA ! Range("B1").Value = "Nome:" Range("C1").Value = "Cidade:" Range("D1").Value = "País:" abb 'Conexão com o banco de dados; Set rs = New ADODB.Recordset 'define o objeto recordset sql = "SELECT * from base" 'define a instrução sql rs.Open sql, con 'gera o recordset para o sql sobre a conexao definida ' Preenche o restante das células com dados do RecordSet; I = 2 If Not rs.EOF Then Do Until rs.EOF Range("A" & I).Value = rs(0) Range("B" & I).Value = rs(1) Range("C" & I).Value = rs(2) Range("D" & I).Value = rs(3) rs.MoveNext I = I + 1 Loop End If AplExcel.Visible = True Set AplExcel = Nothing Set BokExcel = Nothing Set ShtExcel = Nothing End Sub Detalhes: - Isso acontece sempre na segunda vez que tenta-se abrir o RS no Excel; -Notei também que mesmo depois de fechar a Planilha recém aberta, ainda continua no Gerenciador de Tarfefas do Windows (TaskMgr), isso ocupa memória do sistema correto ?! Até tentei burlar isso utilizando o "Taskkill", mas o problema é que fecha todas as planilhas que estiverem abertas... Isso tá me tirando o sono pessoal... a primeira exportação até funciona, mas na segunda... "ERROR" ! :angry: -
@ Matheus: Vá em Project > Components ( ou pressione "Ctrl + T") e habilite o componente "Microsoft Windows Common Controls 6.0 (SP6)"; Depois disto irá ficar disponível mais opções em sua Caixa de Ferramentas, basta escolher o "ListView" entre eles. Beleza ?! VALEU ! :D
-
Olá thiefsandor ! Seja bem Vindo ! Sei como é ser iniciante ! ;) Você pelo menos vai trabalhar com isso... eu tenho vontade mas não tenho qualificação (estou correndo atrás)...:blush: Mas voltando ao assunto...aqui no fórum tem bastante dicas e scripts que podem te ajudar muito, assim como me ajudaram e ainda ajudam... Tenho um projeto com SQL & VB-6, mas é com SQLCE (SQL Compact Edition 3.5), optei por ele por ser mais seguro que o Access e porque é um BD (Banco de Dados) móvel...não precisa de um servidor fixo feito o SQL tradicional. Não coloquei "Senha" nesse meu projeto. Segue link do projeto (é bem simples hein ! só para praticar mesmo): http://www.4shared.com/file/QQBymCg8/Banco...ados_SQLCE.html Então, para fazer a conexão com o bando SQL Server 2005/2008 com esse meu projeto você terá que criar um BD e colocar colunas identicas ao que coloquei no meu, e alterar no "Módulo" a string de conexão... Neste site tem as strings de conexão da maioria, senão de todos os BD's: http://www.connectionstrings.com/ Qualquer coisa,estamos aí ! :lol:
-
(Resolvido) Exportando (salvando) relatorio em ".xls" Excel.
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
Pessoal... Tenho uma base...só falta o complemento. Acho que com "For" e "Do While" dá para fazer...porém não sou muito bom em ambos :( Meu script até o momento: No General Declarations: Dim AExcel As Excel.Application ' Aplicação Dim BExcel As Excel.Workbook ' Arquivo Dim CExcel As Excel.Worksheet ' Planilha Dim I As Integer Script em Sub: Private ImpExcel() Set AExcel = New Excel.Application ' Configurando a aplicação Excel If Dir(App.Path & "\Impress.xls") = Empty Then Set BExcel = AExcel.Workbooks.Add 'Configurando o arquivo Set CExcel = BExcel.Sheets(1) ' Configurando a Planilha With CExcel .Cells(1, 1) = "ID :" .Cells(1, 2) = "Nome :" ' Configurando as células iniciais .Cells(1, 3) = "Cidade :" .Cells(1, 4) = "País :" End With End If ' Abrindo o BD e criando o RecordSet abb rs = New ADODB.Recordset rs.CursorLocation = adUseServer rs.Open "select * from base", con, adOpenKeyset, adLockReadOnly ????????????????????????? ' Onde falta configurar para de acordo com a quantidade de Linhas e Colunas apresentar na planilha Excel. Pessoal, dicas e opiniões continuam sendo bem vindas :D -
(Resolvido) Exportando (salvando) relatorio em ".xls" Excel.
uma questão postou Danleonhart Visual Basic
Pessoal, Como posso fazer para salvar (exportar) os dados contidos em um relatório do BD SQL em uma planilha do Excel ? Os dados são visto no aplicativo VB-6 em uma FlexGrid/DataGrid...então tem a opção de imprimir (pelo Data Report), e ele tem a opção de exportar (txt , html...),menos "xls"...se não for pelo Data Report, pretendo criar um botão extra para fazer esta exportação... Dicas e opiniões serão bem recebidas ! ^_^ -
(Resolvido) Eliminar "Space" entre textos de um TextBox
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
@ Kuroi: Caraca meu ! Muito mais simples ! VALEU ! -
(Resolvido) Como limpar Objeto "Image"
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
É isso mesmo... funcionou ! :) -
??? Como se faz para "esvaziar" um objeto Image ??? Tentei: Image1.Picture = Empty mas deu erro 424 (Objeto Requerido)... :(
-
(Resolvido) Eliminar "Space" entre textos de um TextBox
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
Já achei pessoal ! :) Fica o código: Private Sub Command1_Click() Dim Valor(1) As String, b, u As Integer Valor(0) = Text1.Text b = Len(Valor(0)) For u = 1 To b If Mid(Valor(0), u, 1) <> " " Then Valor(1) = Valor(1) & Mid(Valor(0), u, 1) Next u Label1.Caption = Valor(1) End Sub No exemplo, o código está em um CommandButton, que ao ser clicado retira todos os "espaços" colocado entre os textos digitados na TextBox "Text1"... e apresenta o resultado na Label1. Valeu ! :rolleyes: -
Galera... Como faço para eliminar os espaços queestão entre textos de uma TextBox ? EX: Se for digitado "Daniel Silva" apareça: "DanielSilva". Tem uma maneira simples de se fazer isto ?
-
(Resolvido) Probleminha com MaskEdBox.
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
:rolleyes: Realmente, facilita bastante ! :closedeyes: -
Olá Kuroi... O erro é no .EXE e também no projeto... o que descobrí é que, quando coloco o BD em um servidor (tipo: \\svr02\Dados\DBase.sdf) o aplicativo inicia, mas quando vai se utilizar algo relacionado ao BD, ele apresenta este erro e fecha o aplicativo...o interessante é que no evento "Load" ele já utiliza a consulta ao BD, para carregar um FlexGrid, mas só trava quando vai se fazer outra consulta ...levei o projeto para o trabalho, e modifiquei o local do BD ( coloquei localmente, no "C:\Dados\DBase.sdf" e alterei a string de conexão também, claro né <_<) e funfou "Beleza de Creuza" ! :D Não sei o que está ocorrendo...mas há necessidade de deixa-lo no servidor, pois ele será usado por 5 micros em rede...e sempre que for incluso novas informações, automaticamente já ficam disponíveis para todos que o usam. Para informação Minha string de conexão que está dando o problema : con.Open "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=\\svr02\Dados\DBase.sdf;" Alterei para: con.Open "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\Dados\DBase.sdf;" assim roda ... <_<
-
Colocar imagem em BD com aplicativo VB-6
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
Pessoal, ainda não conseguí recuperar imagem do Banco de Dados...dicas e informações serão bem vindas. :) -
Que erro é esse ? Run time '-2147467259 (80004005)' Method'~' of object '~' failed o aplicativo abre, mas não apresenta o FlexGrid, shape, label, textbox e ainda fica travado... :(
-
(Resolvido) Probleminha com MaskEdBox.
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
Poderia ser assim? If InStr(mk1.Text, "_") Then .... não tenho certeza... :D -
Colocar imagem em BD com aplicativo VB-6
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
@Matheus : Valeu cara ! tenho esse teu projeto da "Agenda Telefônica" que me enviaste ano passado :) Mas minha finalidade é gravar tudo no BD mesmo...até por uma questão de aprendizado. Me passaram um projeto que estou a estudar...bem interessante...ficaria mais fácil com comentários. Link para quem quiser ver: http://www.4shared.com/file/lCNc0bjw/visualizador.html :closedeyes: -
Pessoal... Como faço para salvar imagem carregada em aplicativo VB-6 em BD SQL ? e como carregá-la novamente do BD para o aplicativo ? Tentei com BD Access convertendo a imagem para Binário, configurando o "Type" da Coluna como "Objeto OLE"... até aí tudo bem...salva no BD beleza. Mas na hora de carregar do BD (Access) para o aplicativo dá "erro '53' File not Found". Uso esta string para carregar os dados...lí um pouco sobre o "GetChunk", que segundo o que entendí ele trás de volta de binário para o tipo inicial (seja foto, mp3 ou o que for...), e que antes disso, precisa ser primeiro carregado em uma variável temporária : Private Sub Carregar() Dim USR As String Dim strFoto USR = InputBox("Digite o Nome do Usuário que deseja carregar as informações.") If USR <> Empty Then abb Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open "select * from Table01 where Nome='" & USR & "'", con, adOpenKeyset, adLockReadOnly strFoto = rs("Foto").GetChunk(rs("Foto").ActualSize) txt1.Text = rs("Nome") txt2.Text = rs("Cidade") ima1.Picture = LoadPicture(strFoto) txt1.SetFocus End If End Sub Bem, este mesmo script utilizo para o SQL... e o de "inserir" os dados no BD também... aqui ele: Private Sub Inserir() Dim vID As Double If txt1.Text = "" Or txt2.Text = "" Then MsgBox "Coloque as informações necessárias.", vbExclamation, "ATENÇÃO !" Else vID = FG1.Rows inserir = "insert into Table01 (ID, Nome, Cidade, Foto)" & "Values('" & vID & "','" & txt1.Text & "','" & txt2.Text & "','" & ima1.Picture & "')" con.Execute inserir MsgBox "Informações inclusas", vbInformation Limpar End If txt1.SetFocus Form_Load End Sub Sendo que, este só inclui no BD Access...no SQL ele dá erro (Requested conversion is not supported.), justamente na parte de incluir a imagem...pois alterei o script sem a inclusão da imagem no BD SQL e funcionou beleza.
-
(Resolvido) Aplicativo VB-6 com método SUM
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
@ Kuroi Olá Kuroi ! Valeu ! deu certo ! Eu não sabia que tinha de Setar o RecordSet :D Deu beleza assim: Set rs = conn.Execute("SELECT SUM(Valor) As soma From base") lblRes.Caption = rs("soma") VALEU ! -
Pessoal... Como faço para apresentar em uma Label o resultado da "soma" de uma coluna ??? o banco de dados é em SQL CE... e a string tá assim: conn.Execute "SELECT SUM(Valor) from base" então...como faço ? <_<
-
(Resolvido) Probleminha com MaskEdBox.
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
Pessoal, Problema resolvido :). O que aconteceu foi que ao colocar o script na condição, esquecí de mencionar que há "dois" sinais de "_" (under line) na MaskEdBox... Então coloquei assim: If mk1.Mask = "__:__" Then MsgBox "Informe a Hora Inicial." mk1.SetFocus Exit Sub ElseIf mk2.Mask = "__:__" Then MsgBox "Informe a Hora Final." mk2.SetFocus Exit Sub Else .... E está funcionando...:D -
Pessoal, tou com um problema em MaskEdBox... fiz um script para não permitir deixá-las vazias... If mk1.Mask = "##:##" Then MsgBox "Informe a Hora Inicial." mk1.SetFocus Exit Sub ElseIf mk2.Mask = "##:##" Then MsgBox "Informe a Hora Final." mk2.SetFocus Exit Sub Else ..... porém, mesmo digitando as horas nas caixas a mensagem para "Informar a Hora..." surge... sei que é porque o valor digitado fica no evento Ttexto (Text) da MasEdBox...então como posso fazer para impedir que deixem as Mask's vazias ???
-
Auto redimensionamento de aplicativo.
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
OK ! tou tentando...e já tenho alguns progressos... Agora diz aê: como faço para deixar o Form configurado para quando atingir certo valor de Largura x Altura (tipo: 4545 x 5835) não ser mais possível "reduzir" mais o Form... tem como ??? como ! :) -
Pessoal... Como posso deixar meu aplicativo com estes auto-ajustes (redimensionamento) nas laterias ao ser maximizado ou quando arrastado nas extremidades Para entender, vejam o video: Click aqui !
-
(Resolvido) Aplicativo VB-6 + Banco SQL...deletar item da tabela
pergunta respondeu ao Danleonhart de Danleonhart em Visual Basic
:) Obrigado Matheus ! Encontrei também uma maneira mais prática e sem precisar de colocar mensagem dizendo "Não Encontrado!" Private Sub Deleta() Dim Nm As String Nm = txt3.Text abb Set rs = New ADODB.Recordset rs.CursorLocation = adUseServer apaga = "delete from table1 where Nome='" & Nm & "'" con.Execute apaga End Sub Só colocar no botão pra chamar a sub Deleta ^_^ Valeu ! -
Pessoal... Como posso jogar uma variável na função de busca "Find" ? Quero procurar por "nome" pessoal na Coluna "Nome" da tabela "table1" (BD SQL), tipo: em uma TextBox digita-se o nome que se deseja procurar na coluna, e este é jogado em uma variavel (para assim poder-se alternar as buscas). Fiz assim mas não está dando certo: Private Sub cmdBusca_Click() Dim criterio, bsc As String bsc = txt3.Text abb Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open "select * from table1", con, adOpenKeyset, adLockOptimistic, adCmdText criterio = "Nome Like 'bsc'" rs.Find criterio, 0, adSearchForward While Not rs.EOF List1.AddItem rs("Nome") rs.MoveNext Wend End Sub Já tentei com: criterio = "Nome Like ('bsc')" criterio = "Nome Like ('txt3.Text')" Sem sucesso <_<