PUXAR REGISTRO NO VB6

WAMMFR 19/10/2015 17:00:56
#452735
Boa Tarde...
Se alguém tiver a disposição de ajudar ai agradeço...
Não Consigo trazer um registro pelo código...
Segue programa... que foi coletado aqui no VBmania e alterado alguns itens...

Dim con As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim caminho As String

[ô]Evento Load() do Form
Private Sub Form_Load()
[ô]Executa sub-rotina de criação e abertura do Banco de Dados
AbreControle
End Sub

[ô]Sub-rotina de criação da tabela de [Ô]Controle[Ô]
Private Sub CriaTabelaControle()
[ô]Cria tabela de nome [Ô]Controle[Ô]
Set TdCon = DbCon.CreateTableDef([Ô]Controle[Ô])

[ô]Cria campos da tabela
Set FdCon = TdCon.CreateField([Ô]Sequencia[Ô], dbText, 5)
AtualizaCampoControle 0

Set FdCon = TdCon.CreateField([Ô]Data[Ô], dbText, 10)
AtualizaCampoControle 1

Set FdCon = TdCon.CreateField([Ô]CodCond[Ô], dbMemo)
AtualizaCampoControle 2

Set FdCon = TdCon.CreateField([Ô]Cond[Ô], dbMemo)
AtualizaCampoControle 3

Set FdCon = TdCon.CreateField([Ô]Descricao[Ô], dbMemo)
AtualizaCampoControle 4

Set FdCon = TdCon.CreateField([Ô]Vlr[Ô], dbDouble)
AtualizaCampoControle 5

Set FdCon = TdCon.CreateField([Ô]Total[Ô], dbDouble)
AtualizaCampoControle 6

[ô]Acrescenta a tabela ao Banco de Dados
DbCon.TableDefs.Append TdCon

[ô]Cria índice primário = Sequencia
Set IxCon = TdCon.CreateIndex([Ô]IndiceSequencia[Ô])
Set FdCon = IxCon.CreateField([Ô]Sequencia[Ô])
IxCon.Fields.Append FdCon
IxCon.Primary = True
TdCon.Indexes.Append IxCon

[ô]Cria índice por Data
Set IxCon = TdCon.CreateIndex([Ô]IndiceData[Ô])
Set FdCon = IxCon.CreateField([Ô]Data[Ô])
IxCon.Fields.Append FdCon
TdCon.Indexes.Append IxCon
End Sub

[ô]Sub-rotina para atribuir propriedades aos
[ô]campos da tabela, dependendo do seu tipo
[ô]e acrescentar o campo à tabela
Private Sub AtualizaCampoControle(Opc As Integer)
If Opc = 1 Then
FdCon.Required = True
FdCon.AllowZeroLength = True
End If
[ô]acrescenta o campo à tabela
TdCon.Fields.Append FdCon
End Sub

[ô]Sub-rotina de criação e abertura do banco de dados
Private Sub AbreControle()
Dim NomeArquivo As String

NomeArquivo = [Ô]C:\Users\servidor\Downloads\Ari\Controle de receitas e despesas\Controle de receitas e despesas\Controle.mdb[Ô]

[ô]Se o arquivo não existir no disco rígido, cria o banco de dados
If Dir(NomeArquivo) = [Ô][Ô] Then
Set DbCon = Workspaces(0).CreateDatabase(NomeArquivo, _
dbLangGeneral, dbVersion35)
CriaTabelaControle
End If

[ô]Abre o banco de dados
Set DbCon = Workspaces(0).OpenDatabase(NomeArquivo)

[ô]Abre tabela [Ô]Controle[Ô] do banco de dados
Set RegCon = DbCon.OpenRecordset([Ô]Controle[Ô], dbOpenTable)
End Sub
Private Sub TxtCodCond_KeyPress(KeyAscii As Integer)
[ô]Envia o valor da tecla TAB quando for
[ô]pressionada a tecla ENTER
If KeyAscii = 13 Then
Sendkeys [Ô]{TAB}[Ô]
KeyAscii = 0
End If
End Sub
[txt-color=#e80000][ô]Private Sub TxtCodCond_Change()
[ô]If TxtCodCond.text <> [Ô][Ô] Then
[ô]con.Open caminho
[ô]Leitura
[ô]Set rst = con.Execute([Ô]SELECT CodCond,Cond FROM Controle WHERE CodCond=[Ô] & TxtCodCond.text)
[ô]If Not rst.EOF Then
[ô]TxtCond.text = rst([Ô]Cond[Ô])
[ô]Else
[ô] TextCond.text = [Ô]Não existe cadastro com esse id[Ô]
[ô]End If

[ô]rst.Close
[ô]Set rst = Nothing
[ô]con.Close
[ô]Set con = Nothing
[ô] End If
[ô] End Sub
[/txt-color]
Private Sub TxtSequencia_KeyPress(KeyAscii As Integer)
[ô]Envia o valor da tecla TAB quando for
[ô]pressionada a tecla ENTER
If KeyAscii = 13 Then
Sendkeys [Ô]{TAB}[Ô]
KeyAscii = 0
End If
End Sub

Private Sub TxtData_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Sendkeys [Ô]{TAB}[Ô]
KeyAscii = 0
End If
[ô]Formata automaticamente a entrada de data
CampoData TxtData, KeyAscii
End Sub

Private Sub TxtVlr_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Sendkeys [Ô]{TAB}[Ô]
KeyAscii = 0
End If
[ô]Permite a entrada somente de dados numéricos,
[ô]com duas casas após a vírgula
CampoNumerico TxtVlr, KeyAscii, 2
End Sub

Private Sub TxtTotal_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Sendkeys [Ô]{TAB}[Ô]
KeyAscii = 0
End If
[ô]Permite a entrada somente de dados numéricos,
[ô]com duas casas após a vírgula
CampoNumerico TxtTotal, KeyAscii, 2
End Sub

Private Sub TxtDataInicial_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Sendkeys [Ô]{TAB}[Ô]
KeyAscii = 0
End If
[ô]Formata automaticamente a entrada de data
CampoData TxtDataInicial, KeyAscii
End Sub

[ô]Evento GotFocus() do campo [Ô]Saída[Ô]
Private Sub TxtTotal_GotFocus()
[ô]Formata o valor do campo [Ô]TxtEntrada[Ô]
TxtVlr.text = _
Format(TxtVlr.text, [Ô]#,##0.00[Ô])
End Sub

[ô]Evento GotFocus() do campo [Ô]Descrição[Ô]
Private Sub TxtDescricao_GotFocus()
[ô]Formata o valor do campo [Ô]TxtSaida[Ô]
TxtTotal.text = _
Format(TxtTotal.text, [Ô]#,##0.00[Ô])
End Sub

[ô]Transfere os dados digitados para o registro
[ô]da tabela, para que possam ser gravados
Private Sub CarregaCamposControle()
RegCon([Ô]Sequencia[Ô]) = TxtSequencia.text
RegCon([Ô]Data[Ô]) = InvData(TxtData.text)
RegCon([Ô]CodCond[Ô]) = TxtCodCond.text
RegCon([Ô]Cond[Ô]) = TxtCond.text
RegCon([Ô]Descricao[Ô]) = TxtDescricao.text
RegCon([Ô]Vlr[Ô]) = ValStr(TxtVlr.text)
RegCon([Ô]Total[Ô]) = ValStr(TxtTotal.text)
End Sub

[ô]Transfere os dados do registro da tabela
[ô]para os campos TextBox do Form
Private Sub EditaCamposControle()
TxtSequencia.text = RegCon([Ô]Sequencia[Ô])
TxtData.text = InvData(RegCon([Ô]Data[Ô]))
TxtCodCond.text = RegCon([Ô]CodCond[Ô])
TxtCond.text = RegCon([Ô]Cond[Ô])
TxtDescricao.text = RegCon([Ô]Descricao[Ô])
TxtVlr.text = Format(RegCon([Ô]Vlr[Ô]), [Ô]#,##0.00[Ô])
TxtTotal.text = Format(RegCon([Ô]Total[Ô]), [Ô]#,##0.00[Ô])
End Sub

[ô]Limpa todos os campos TextBox do Form
Private Sub LimpaCamposControle()
TxtSequencia.text = [Ô][Ô]
TxtData.text = [Ô][Ô]
[ô]TxtCodCond.text = [Ô][Ô]
TxtCond.text = [Ô][Ô]
TxtDescricao.text = [Ô][Ô]
TxtVlr.text = [Ô][Ô]
TxtTotal.text = [Ô][Ô]
End Sub

[ô]Evento GotFocus() do campo [Ô]Sequência[Ô]
Private Sub TxtSequencia_GotFocus()
[ô]Limpa todos os campos do Form
LimpaCamposControle
[ô]Se houver registros na tabela
If TestaRegistro(RegCon) = True Then
[ô]Pega valor da última sequência e soma + 1
RegCon.Index = [Ô]IndiceSequencia[Ô]
RegCon.Seek [Ô]<=[Ô], [Ô]9999[Ô]
RegCon.Edit
TxtSequencia.text = _
Format(Val(RegCon([Ô]Sequencia[Ô])) + 1, [Ô]00000[Ô])
Else
[ô]Se não houver registro na tabela
[ô]inicia a sequência = 00001
TxtSequencia.text = [Ô]0001[Ô]
End If
[ô]Desativa botões Incluir, Alterar e Excluir
BtnIncluir.Enabled = False
BtnAlterar.Enabled = False
BtnExcluir.Enabled = False
[ô]Seleciona todos os caracteres do
[ô]campo Sequência
Seleciona TxtSequencia
End Sub

[ô]Evento GotFocus() do campo [Ô]Data[Ô]
Private Sub TxtData_GotFocus()
[ô]Formata a sequência com 5 dígitos
TxtSequencia.text = Format(TxtSequencia.text, [Ô]0000[Ô])
[ô]Verifica se o valor informado no
[ô]campo [Ô]Sequencia[Ô] existe na tabela
RegCon.Index = [Ô]IndiceSequencia[Ô]
RegCon.Seek [Ô]=[Ô], TxtSequencia.text
If RegCon.NoMatch Then
[ô]Se não existe, permite apenas inclusão
[ô]ativando o botão [Ô]Incluir[Ô]
BtnIncluir.Enabled = True
BtnAlterar.Enabled = False
BtnExcluir.Enabled = False
Else
[ô]se já existe, mostra os dados nos
[ô]campos TextBox do Form e
[ô]permite apenas alterar ou excluir
EditaCamposControle
BtnAlterar.Enabled = True
BtnExcluir.Enabled = True
End If
End Sub

Private Sub BtnIncluir_Click()
RegCon.AddNew
CarregaCamposControle
RegCon.Update
TxtSequencia.SetFocus
End Sub

Private Sub BtnAlterar_Click()
RegCon.Index = [Ô]IndiceSequencia[Ô]
RegCon.Seek [Ô]=[Ô], TxtSequencia.text
RegCon.Edit
CarregaCamposControle
RegCon.Update
TxtSequencia.SetFocus
End Sub

Private Sub BtnExcluir_Click()
RegCon.Index = [Ô]IndiceSequencia[Ô]
RegCon.Seek [Ô]=[Ô], TxtSequencia.text
RegCon.Delete
TxtSequencia.SetFocus
End Sub

[ô]Evento Click() do botão de listagem no vídeo
Private Sub BtnListarVideo_Click()
Dim Saldo As Double

Saldo = 0
LstMov.Clear
RegCon.Index = [Ô]IndiceData[Ô]
RegCon.MoveFirst
Do Until RegCon.EOF
RegCon.Edit

Saldo = Saldo + RegCon([Ô]Vlr[Ô]) - RegCon([Ô]Total[Ô])

If RegCon([Ô]Data[Ô]) >= InvData(TxtDataInicial.text) Then
LstMov.AddItem RegCon([Ô]Sequencia[Ô]) + [Ô] [Ô] + InvData(RegCon([Ô]Data[Ô])) + _
[Ô] [Ô] + Alinha(Mid(RegCon([Ô]CodCond[Ô]), 1, 34), 34, [Ô]ESQ[Ô]) + _
[Ô] [Ô] + Alinha(Mid(RegCon([Ô]Cond[Ô]), 1, 34), 34, [Ô]ESQ[Ô]) + _
[Ô] [Ô] + Alinha(Mid(RegCon([Ô]Descricao[Ô]), 1, 34), 34, [Ô]ESQ[Ô]) + [Ô] [Ô] + _
Alinha(Format(RegCon([Ô]Vlr[Ô]), [Ô]#,##0.00[Ô]), 12, [Ô]DIR[Ô]) + _
Alinha(Format(RegCon([Ô]Total[Ô]), [Ô]#,##0.00[Ô]), 12, [Ô]DIR[Ô])
[ô]+ _
[ô]Alinha(Format(Saldo, [Ô]#,###,##0.00[Ô]), 12, [Ô]DIR[Ô])
End If

RegCon.MoveNext
Loop
End Sub

[ô]Cabeçalho do Relatório de Receitas/Despesas
[ô]na impressora
Private Sub CabecalhoImpressora()
LINHA = 0
Lprint 0, LINHA, [Ô]Listagem de Receitas/Despesas[Ô]
LINHA = LINHA + 240
Lprint 0, LINHA, _
String(11500 / Printer.TextWidth([Ô]-[Ô]), [Ô]-[Ô])
LINHA = LINHA + 240
Lprint 0, LINHA, [Ô]Sequência[Ô]
Lprint 1000, LINHA, [Ô]Data[Ô]
Lprint 2000, LINHA, [Ô]Descrição[Ô]
Lprint 7100, LINHA, [Ô]Entradas[Ô]
Lprint 8800, LINHA, [Ô]Saídas[Ô]
Lprint 10300, LINHA, [Ô]Saldo[Ô]
LINHA = LINHA + 240
Lprint 0, LINHA, _
String(11500 / Printer.TextWidth([Ô]-[Ô]), [Ô]-[Ô])
LINHA = LINHA + 240
End Sub

Private Sub BtnListarImpressora_Click()
Dim Saldo As Double, StrAux As String

Printer.Print [Ô][Ô]
Printer.Font = [Ô][Ô]
Printer.FontName = [Ô]Times New Roman[Ô]
Printer.FontSize = 10

CabecalhoImpressora

Saldo = 0
LstMov.Clear
RegCon.Index = [Ô]IndiceData[Ô]
RegCon.MoveFirst
Do Until RegCon.EOF
RegCon.Edit

Saldo = Saldo + RegCon([Ô]Entrada[Ô]) - RegCon([Ô]Saida[Ô])

If RegCon([Ô]Data[Ô]) >= InvData(TxtDataInicial.text) Then
Lprint 0, LINHA, RegCon([Ô]Sequencia[Ô])
Lprint 1000, LINHA, RegCon([Ô]Data[Ô])
Lprint 2000, LINHA, Mid(RegCon([Ô]Descricao[Ô]), 1, 45)

StrAux = Format(RegCon([Ô]Entrada[Ô]), [Ô]#,###,##0.00[Ô])
Lprint 6500, LINHA, _
Justifica(Printer.TextWidth(StrAux), 1500) + StrAux

StrAux = Format(RegCon([Ô]Saida[Ô]), [Ô]#,###,##0.00[Ô])
Lprint 8000, LINHA, _
Justifica(Printer.TextWidth(StrAux), 1500) + StrAux

StrAux = Format(Saldo, [Ô]#,###,##0.00[Ô])
Lprint 9500, LINHA, _
Justifica(Printer.TextWidth(StrAux), 1500) + StrAux
End If
LINHA = LINHA + 240
If LINHA >= 14250 Then
Alimenta
CabecalhoImpressora
End If

RegCon.MoveNext
Loop
Printer.EndDoc
End Sub

[ô]Evento Click() do botão [Ô]Sair[Ô]
Private Sub BtnSair_Click()
Unload Me
End Sub
Mas vamos lá... onde tem o código do condominio queria digitar e aparecer o nome do mesmo... ja vasculhei tudo e não consigo fazer
funcion
KERPLUNK 19/10/2015 21:05:16
#452743
Resposta escolhida
Ok, em que parte está tendo problemas?
WAMMFR 21/10/2015 21:23:02
#452869
Boa Noite - Kerplunk

Já descobri o erro... Não estava abrindo corretamente o banco de dados...

Grato

Estou encerrando o tópico.
Tópico encerrado , respostas não são mais permitidas