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
|