USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Concluir Select
FredMP
SÃO PEDRO DA ALDEIA
RJ - BRASIL
Postada em 20/03/2005 18:24 hs            
Olá pessoal do VBWEB! Tenho um problema que é o seguinte:

No Load do meu form eu acesso 3 tabelas através do SELECT, preciso carregar o conteúdo dessas tabelas em uma TextBox. O problema é que ao tentar fazer isso no Load o VB gera um erro. Eu acho que é porque ele não conclui o SELECT até o fim antes de passar para o próximo comando, com isso, ao tentar jogar os dados para o Text ele gera esse erro.
Cheguei a essa teoria porque quando eu peço p/ fazer a mesma coisa ao clicar no Text ele faz sem problemas.
Gostaria de saber se alguém conhece algum comando que interrompa a execução das próximas linhas de código até que a execução do SELECT termine. Acho que com isso posso resolver meu problema.

Atenciosamente,
Fred
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 21/03/2005 01:20 hs            
vc pode postar o código para avaliarmos melhor o problema por favor?? E se possível a descrição do erro e o tipo de conexão q é feita ao banco, se é DAO ou ADO.
 
Obrigado
 
t+
   
FredMP
SÃO PEDRO DA ALDEIA
RJ - BRASIL
Postada em 21/03/2005 02:14 hs            
O código completo é esse aí embaixo (com exceção de algumas variáveis que eu declarei num módulo).
O problema é que eu não consigo usar a função CarregaDados no evento Load, apenas depois em algum outro evento qualquer, e eu preciso abrir este Form já com os dados no TextBox.

Private Sub Form_Load()
Data.DatabaseName = App.Path & "CPD.MDB"
Data.RecordSource = "SELECT * FROM atual"
tbOutros.DatabaseName = App.Path & "CPD.MDB"
tbOutros.RecordSource = "SELECT * FROM outros"
tbImpressora.DatabaseName = App.Path & "CPD.MDB"
tbImpressora.RecordSource = "SELECT * FROM impressora"
tbComputador.DatabaseName = App.Path & "CPD.MDB"
tbComputador.RecordSource = "SELECT * FROM computador"
strTipo = ""
strSetor = ""
strRamal = ""
strPronto = ""
strAndamento = ""
'CarregaDados
End Sub
Function CarregaDados()
Data.Recordset.MoveMin
Do While Data.Recordset.EOF <> True
  If Data.Recordset("saida") = "" Then
    tbComputador.Recordset.MoveMin
    tbImpressora.Recordset.MoveMin
    tbOutros.Recordset.MoveMin
    strTipo = ""
    strSetor = ""
    strRamal = ""
    strPronto = ""
    strAndamento = ""
    intTipo = Data.Recordset("tipo")
    Select Case intTipo
      Case 0
        Do While tbComputador.Recordset.EOF <> True
          If tbComputador.Recordset("cod") = Data.Recordset("cod") Then
            strTipo = "Computador "
            If tbComputador.Recordset("desc") <> "" Then strTipo = strTipo & tbComputador.Recordset("desc")
            If tbComputador.Recordset("setor") <> "" Then strSetor = tbComputador.Recordset("setor")
            If tbComputador.Recordset("ramal") <> "" Then strRamal = tbComputador.Recordset("ramal")
            If Data.Recordset("pronto") <> "" Then strPronto = Data.Recordset("pronto")
            If Data.Recordset("andamento") <> "" Then strAndamento = Data.Recordset("andamento")
          End If
        tbComputador.Recordset.MoveNext
        Loop
      Case 1
        Do While tbImpressora.Recordset.EOF <> True
          If tbImpressora.Recordset("cod") = Data.Recordset("cod") Then
            strTipo = "Impressora "
            If tbImpressora.Recordset("desc") <> "" Then strTipo = strTipo & tbImpressora.Recordset("desc")
            If tbImpressora.Recordset("setor") <> "" Then strSetor = tbImpressora.Recordset("setor")
            If tbImpressora.Recordset("ramal") <> "" Then strRamal = tbImpressora.Recordset("ramal")
            If Data.Recordset("pronto") <> "" Then strPronto = Data.Recordset("pronto")
            If Data.Recordset("andamento") <> "" Then strAndamento = Data.Recordset("andamento")
          End If
        tbImpressora.Recordset.MoveNext
        Loop
      Case 2
        Do While tbOutros.Recordset.EOF <> True
          If tbOutros.Recordset("cod") = Data.Recordset("cod") Then
            If tbOutros.Recordset("desc") <> "" Then strTipo = tbOutros.Recordset("desc")
            If tbOutros.Recordset("setor") <> "" Then strSetor = tbOutros.Recordset("setor")
            If tbOutros.Recordset("ramal") <> "" Then strRamal = tbOutros.Recordset("ramal")
            If Data.Recordset("pronto") <> "" Then strPronto = Data.Recordset("pronto")
            If Data.Recordset("andamento") <> "" Then strAndamento = Data.Recordset("andamento")
          End If
        tbOutros.Recordset.MoveNext
        Loop
    End Select
    If Len(strTipo) > 24 Then
      strTipo = Left(strTipo, 24)
    Else
      strTipo = strTipo & String(24 - Len(strTipo), " ")
    End If
    If Len(strSetor) > 12 Then
      strSetor = Left(strSetor, 12)
    Else
      strSetor = strSetor & String(12 - Len(strSetor), " ")
    End If
    If Len(strAndamento) > 34 Then
      strAndamento = Left(strAndamento, 34)
    Else
      strAndamento = strAndamento & String(34 - Len(strAndamento), " ")
    End If
    txtBase.Text = txtBase.Text & " " & Data.Recordset("os") & _
    vbTab & strTipo & "   " & strSetor & "  " & strAndamento & _
    "  " & strPronto & vbCrLf
    CriaLinha
  End If
  Data.Recordset.MoveNext
Loop
End Function
Function CriaLinha()
Dim strLinha As String
Dim i As Integer
strLinha = "-"
For i = 0 To 94
  strLinha = strLinha & "-"
Next
txtBase = txtBase & strLinha & vbCrLf
End Function
Private Sub txtBase_Click()
CarregaDados
End Sub


Se alguém conhece alguma solução, por favor, help!

Fred
     
FredMP
SÃO PEDRO DA ALDEIA
RJ - BRASIL
ENUNCIADA !
Postada em 22/03/2005 01:24 hs            
Já descobri uma forma de resolver este problema pessoal!
Eu coloquei um Timer e chamo a rotina CarregaDados após o intervalo de 2 segundos.
Com isso dá tempo para o Select se finalizado.

[]'s
Fred
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página