DUVIDAS DLL
Boa Noite meus grandes amigos, aqui, estou querendo passar meus forms para formado de dll, ou seja, programar uma dll para executar a operação que hoje é executada pelo form, sei que tem que trabalhar com o activex, se alguem puder ajudar a passar essas funcoes para o activex, eu agradeço muito, e como chamar o activex depois no form??? se alguem fizer uma função apenas eu ja agradeço.. demais da conta.. , essa tela e de um cadastro banco de dados mysql, funciona perfeitamente, so que as informacoes dela estao em um form, gostaria de trabalhar com dll
Private Sub Form_Load()
Call PreencheGrid
Call Habilitados
CoresGrid TDBGrid1, &HEFEFEF, &HFFFFFF, True
Call VerificaFiltro
Unload frmAguarde
CentralizarForm Me
End Sub
Sub IncluirRegistro()
On Error GoTo ErrorLine
Call Desabilitados: txtDescricao.SetFocus
Call LimparTela: Var = [Ô][Ô] & [Ô]I[Ô]: chAtivo.Value = Checked
ErrorLineExit:
Exit Sub
ErrorLine:
MsgError
Resume ErrorLineExit
End Sub
Sub GravarRegistros()
On Error GoTo ErrorLine
If txtDescricao.Text = [Ô][Ô] Then
MsgBoxGT [Ô]Campo Descrição em Branco![Ô], vbExclamation, [Ô]Aviso[Ô]
txtDescricao.SetFocus: Exit Sub
Else
Me.MousePointer = 13
If Var = [Ô]I[Ô] Then
SQL2 = [Ô]INSERT INTO caddepartamentos([Ô]
SQL2 = SQL2 & [Ô]depdescricao,depativo)[Ô]
SQL2 = SQL2 & [Ô] Values ([ô][Ô]
SQL2 = SQL2 & txtDescricao.Text & [Ô][ô],[ô][Ô]
SQL2 = SQL2 & chAtivo.Value & [Ô][ô])[Ô]
Conexao.Execute (SQL2)
End If
If Var = [Ô]A[Ô] Then
StrSql = [Ô]Update caddepartamentos [Ô] & _
[Ô]SET depdescricao=[ô][Ô] & txtDescricao.Text & [Ô][ô][Ô] & _
[Ô],depativo=[ô][Ô] & chAtivo.Value & [Ô][ô][Ô]
StrSql = StrSql & [Ô] WHERE iddep =[Ô] & TDBGrid1.Columns(0).Text
Conexao.Execute (StrSql)
End If
Me.MousePointer = 0: Call PreencheGrid: Var = [Ô][Ô]: Call Habilitados
End If
ErrorLineExit:
Exit Sub
ErrorLine:
If Err.Number = -2147217900 Then
MsgBoxGT [Ô]Registro já cadastrado no banco de dados![Ô], vbExclamation, [Ô]Aviso[Ô]
Me.MousePointer = 0: txtDescricao.Text = [Ô][Ô]: txtDescricao.SetFocus
Else
MsgError
Resume ErrorLineExit
End If
End Sub
Sub PreencheGrid()
On Error GoTo ErrorLine
Set MyRs = New ADODB.Recordset
MyRs.Open [Ô]Select iddep,iddep,depdescricao,depativo from caddepartamentos order by iddep[Ô], Conexao, adOpenDynamic, adLockReadOnly
Set TDBGrid1.DataSource = MyRs
Call MontarGrid
ErrorLineExit:
Exit Sub
ErrorLine:
MsgError
Resume ErrorLineExit
End Sub
Sub MontarGrid()
With TDBGrid1
.Columns(0).Visible = False
.Columns(1).Caption = [Ô]Código[Ô]: .Columns(1).Width = 800: .Columns(1).NumberFormat = ([Ô]00000[Ô])
.Columns(2).Caption = [Ô]Descrição[Ô]: .Columns(2).Width = 10500
.Columns(3).Caption = [Ô]Ativo[Ô]: .Columns(3).ValueItems.Presentation = dbgCheckBox
End With
End Sub
Sub CancelarGravacao()
MEN = MsgBoxGT([Ô]Deseja Cancelar Inclusão/Alteração?[Ô], vbQuestion + vbYesNo, [Ô]Mensagem[Ô])
If MEN = vbYes Then
Var = [Ô][Ô]
Call Habilitados: Call PreencheTextbox
End If
End Sub
Sub Habilitados()
With Tool2
.EnabledButton(1) = True: .EnabledButton(2) = False: .EnabledButton(3) = False
.EnabledButton(4) = True: .EnabledButton(5) = True
End With
txtDescricao.Enabled = False: chAtivo.Enabled = False
End Sub
Sub Desabilitados()
With Tool2
.EnabledButton(1) = False: .EnabledButton(2) = True: .EnabledButton(3) = True
.EnabledButton(4) = False: .EnabledButton(5) = False
End With
txtDescricao.Enabled = True: chAtivo.Enabled = True
End Sub
Private Sub OsenXPFrame1_CloseButtonClick()
Unload Me
End Sub
Private Sub TDBGrid1_HeadClick(ByVal ColIndex As Integer)
txtVer.Text = [Ô][Ô] & TDBGrid1.Columns(ColIndex).Caption
OsenXPFrame3.Caption = [Ô]Buscando em : [Ô] & TDBGrid1.Columns(ColIndex).Caption
End Sub
Private Sub TDBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
Call PreencheTextbox
Call ContarRegistros
End Sub
Private Sub Tool1_ButtonClick(Index As Integer, sText As String)
Select Case Index
Case 1
If Not TDBGrid1.BOF Then
TDBGrid1.MoveFirst
End If
Case 2
If Not TDBGrid1.BOF Then
TDBGrid1.MovePrevious
If TDBGrid1.BOF Then
TDBGrid1.MoveLast
End If
Else
TDBGrid1.MoveLast
End If
[ô]Mover para Proximo Registro
Case 3
If Not TDBGrid1.EOF Then
TDBGrid1.MoveNext
If TDBGrid1.EOF Then
TDBGrid1.MoveFirst
End If
Else
TDBGrid1.MoveFirst
End If
[ô]Mover para Ultimo Registro
Case 4
If Not TDBGrid1.EOF Then
TDBGrid1.MoveLast
End If
Case 6
If VarGrid = [Ô][Ô] Then
VarGrid = [Ô][Ô] & [Ô]M[Ô]: OsenXPFrame3.Caption = [Ô]Buscando em : Código[Ô]
txtVer.Text = [Ô][Ô] & [Ô]Código[Ô]
Else
VarGrid = [Ô][Ô]: txtPesq.Text = [Ô][Ô]
End If
Call VerificaFiltro
Case 9
VarGrid = [Ô][Ô]
MyRs.Close
Set MyRs = Nothing
Unload Me
End Select
End Sub
Private Sub Tool2_ButtonClick(Index As Integer, sText As String)
Select Case Index
Case 1
Call IncluirRegistro
txtDescricao.Text = [Ô][Ô]
Case 2
Call GravarRegistros
Case 3
Call CancelarGravacao
Case 4
Call ExcluirRegistros
Case 5
Call AlterarRegistro
End Select
End Sub
Sub AlterarRegistro()
If TDBGrid1.BOF Then
Exit Sub
End If
If Not TDBGrid1.BOF Then
Var = [Ô][Ô] & [Ô]A[Ô]: Call Desabilitados: txtDescricao.SetFocus
End If
End Sub
Sub ExcluirRegistros()
On Error GoTo ErrorLine
If TDBGrid1.BOF Then
Exit Sub
End If
Set rsPOTabela = New ADODB.Recordset
rsPOTabela.Open [Ô]select * from movimentoocorrenciasauxiliar where auxhistorico=[ô][Ô] & TDBGrid1.Columns(0).Text & [Ô][ô][Ô], Conexao, adOpenStatic, adLockReadOnly
If rsPOTabela.RecordCount <> 0 Then
MsgBoxGT [Ô]Não é possÃvel excluir : [Ô] & TDBGrid1.Columns(1).Text & [Ô]-[Ô] & TDBGrid1.Columns(2).Text & _
Chr(13) & [Ô]pois existe registros relacionados ao mesmo![Ô], vbInformation, [Ô]Aviso[Ô]: Exit Sub
End If
rsPOTabela.Close
Set rsPOTabela = Nothing
If Not TDBGrid1.BOF Then
MEN = MsgBoxGT([Ô]Deseja Excluir o Registro?[Ô] & _
Chr(13) & TDBGrid1.Columns(1).Text & [Ô] - [Ô] & TDBGrid1.Columns(2).Text, vbQuestion + vbYesNo, [Ô]Mensagem[Ô])
If MEN = vbYes Then
Me.MousePointer = 11
SQL = [Ô]DELETE FROM caddepartamentos where iddep = [ô][Ô] & TDBGrid1.Columns(0).Text & [Ô][ô][Ô]
Conexao.Execute (SQL)
Call PreencheGrid
Me.MousePointer = 0
End If
End If
ErrorLineExit:
Exit Sub
ErrorLine:
MsgError
Resume ErrorLineExit
End Sub
Sub PreencheTextbox()
If TDBGrid1.BOF Then
txtDescricao.Text = [Ô][Ô]: chAtivo.Value = Unchecked
Exit Sub
Else
With TDBGrid1
txtDescricao.Text = [Ô][Ô] & .Columns(2).Text: chAtivo.Value = .Columns(3).Value
End With
End If
End Sub
Sub LimparTela()
txtDescricao.Text = [Ô][Ô]
End Sub
Sub ContarRegistros()
If TDBGrid1.BOF Then
OsenXPFrame2.Caption = [Ô][Ô] & [Ô]Registro : 0 de 0 [Ô]
Else
OsenXPFrame2.Caption = [Ô][Ô] & [Ô]Registro : [Ô] & MyRs.AbsolutePosition & [Ô] de [Ô] & MyRs.RecordCount
End If
End Sub
Sub VerificaFiltro()
If VarGrid = [Ô]M[Ô] Then
With TDBGrid1
.Height = 6580: .Top = 1440
End With
OsenXPFrame3.Visible = True
txtPesq.SetFocus
Else
With TDBGrid1
.Height = 7215: .Top = 795
End With
OsenXPFrame3.Visible = False: txtVer.Text = [Ô][Ô]
End If
End Sub
Sub txtPesq_Change()
On Error GoTo ErrorLine
Set MyRs = New ADODB.Recordset
If txtVer.Text = [Ô]Código[Ô] Then
MyRs.Open [Ô]Select iddep,iddep,depdescricao,depativo from caddepartamentos where iddep like [ô]%[Ô] & txtPesq.Text & [Ô]%[ô] order by iddep[Ô], Conexao, adOpenDynamic, adLockReadOnly
Else
MyRs.Open [Ô]Select iddep,iddep,depdescricao,depativo from caddepartamentos where depdescricao like [ô]%[Ô] & txtPesq.Text & [Ô]%[ô] order by depdescricao[Ô], Conexao, adOpenDynamic, adLockReadOnly
End If
Set TDBGrid1.DataSource = MyRs
Call MontarGrid
ErrorLineExit:
Exit Sub
ErrorLine:
MsgError
Resume ErrorLineExit
End Sub
Neste link tem tudo que você precisa saber para desenvolver uma aplicação 3 Camadas . Estude todos tutoriais e pratique os projetos exemplos antes de partir para seu projeto.
Click aqui para vê a teoria das 3 camadas
Mais aqui
Pronto. Mãos à obra.
Click aqui para vê a teoria das 3 camadas
Mais aqui
Pronto. Mãos à obra.
Alterei a tela e enviei para seu email cadastrado no site, verifica la..
Tópico encerrado , respostas não são mais permitidas