Roberto, abaixo segue o código do MDI e do form onde são feitas as inclusões, alterações e exclusões, tirei alguns códigos porque entendo que não são necessários (perfumaria), são validações de controles (enable), focus, cor etc... Acho que foi isto que você pediu?
Form MDI
‘Base de materiais
Set Banco = OpenDatabase(App.path & "Banco1.mdb")
‘Base de dados de usuários
Set BDS = OpenDatabase(App.path & "Banco.mdb")
‘Tabela do material
Set TBeletronico = Banco.OpenRecordset("TBeletronico", dbOpenTable)
‘Índice da tabela
TBeletronico.Index = "ProcCodigo"
Form Eletrônicos (onde quase tudo acontece)
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory _
As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1
Private Sub CboVoltag_GotFocus()
SendKeys "%{DOWN}"
End Sub
Private Sub CmdAlterar_Click()
DesLokedEle ‘código está em módulo, bloqueia alguns controles, função LOCKED
TBeletronico.Edit
End Sub
Private Sub CmdAnterior_Click()
On Error GoTo erro
TBeletronico.MovePrevious
If TBeletronico.BOF = True Then
TBeletronico.MoveNext
End If
MostrarELE ‘função que está em módulo, copiado no final da página
erro:
Select Case Err
Case 3021
MsgBox "O banco de dados está vázio!", vbCritical
End Select
Exit Sub
End Sub
Private Sub CmdExcluir_Click()
On Error GoTo erro
If MsgBox("Confirma Exclusão ?", vbYesNo) = vbYes Then
Banco.Execute "DELETE * FROM tbEletronico where codigo like'" & txtCodigo.Text & "'"
TBeletronico.MoveMin
lblCont.Caption = TBeletronico.RecordCount
End If
Exit Sub
erro:
Select Case Err
Case 3021
MsgBox "O banco de dados está vazio!", vbCritical
CmdSalvar.Enabled = False
LimparEle
lblCont.Caption = TBeletronico.RecordCount
Exit Sub
Case 3167
MsgBox "Todos os registros foram excluídos!", vbCritical
CmdSalvar.Enabled = False
LimparEle
lblCont.Caption = TBeletronico.RecordCount
End Select
Exit Sub
End Sub
Private Sub CmdLocalizar_Click()
Dim ProcuraCodigo As String
ProcuraCodigo = InputBox("Digite o Codigo a ser Consultado")
TBeletronico.Seek "=", ProcuraCodigo
If TBeletronico.NoMatch = True Then
MsgBox "Material não Encontrado", vbExclamation
TBeletronico.MovePrevious
End If
MostrarELE
End Sub
PARA A INCLUSÃO DE UM NOVO REGISTRO, ONDE ESTÁ DANDO ERRO (EU ACHO”)
Private Sub CmdNovo_Click()
DesLokedEle ‘desbloquear controles
LimparEle ‘limpar controles
Combo1.Enabled = True
txtTipo.SetFocus
Dim cod As Long
If TBeletronico.RecordCount = 0 Then
cod = "0001"
Else
TBeletronico.MoveMax
cod = TBeletronico("Codigo") + 1
End If
txtCodigo.Text = cod
TBeletronico.AddNew
Combo1.SetFocus
End Sub
Private Sub CmdProximo_Click()
On Error GoTo erro
TBeletronico.MoveNext
If TBeletronico.EOF = True Then
TBeletronico.MovePrevious
End If
MostrarELE
erro:
Select Case Err
Case 3021
MsgBox "O banco de dados está vázio!", vbCritical
End Select
Exit Sub
End Sub
Private Sub CmdSalvar_Click()
If TxtSec.Text = "" Then
MsgBox "Especifique o destino", vbExclamation
Combo1.SetFocus
Exit Sub
End If
.
AQUI SEGUEM AS VALIDAÇÕES DOS CAMPOS
.
TBeletronico!Codigo = txtCodigo.Text
TBeletronico!eleTipo = txtTipo.Text
TBeletronico!eleModelo = txtModelo.Text
TBeletronico!eleMarca = txtMarca.Text
TBeletronico!eleSerie = txtSerie.Text
TBeletronico!eleAcessorio = txtAcessorio.Text
TBeletronico!eleDescricao = txtDescricao.Text
TBeletronico!elePatrimonio = txtPat.Text
TBeletronico!eleOrigem = txtOrigem.Text
TBeletronico!eleDestino = Combo1.Text
TBeletronico!eleRecibo = txtRecebido.Text
TBeletronico.Update
End Sub
Private Sub Combo1_GotFocus() ‘PREENCHE A COMBOX COM DADOS DA TB USUÁRIOS
If Combo1.Text = "" Then
Set TbSec = BDS.OpenRecordset("TbSecao", dbOpenTable)
TbSec.Index = "Proc"
End If
Do While Not TbSec.EOF
Combo1.AddItem TbSec("Nome")
Combo1.Refresh
TbSec.MoveNext
Loop
SendKeys "%{DOWN}"
End Sub
Private Sub Form_Load()
lblCont.Caption = TBeletronico.RecordCount
MostrarELE
LokedEle
If lblCont.Caption = 0 Then
LimparEle
End If
End Sub
Public Function MostrarELE()
On Error GoTo erro
frmElet.txtCodigo.Text = TBeletronico!Codigo
frmElet.txtTipo.Text = TBeletronico!eleTipo
frmElet.txtMarca.Text = TBeletronico!eleMarca
frmElet.txtModelo.Text = TBeletronico!eleModelo
frmElet.txtSerie.Text = TBeletronico!eleSerie
frmElet.txtAcessorio.Text = TBeletronico!eleAcessorio
frmElet.txtDescricao.Text = TBeletronico!eleDescricao
frmElet.txtPat.Text = TBeletronico!elePatrimonio
frmElet.txtOrigem.Text = TBeletronico!eleOrigem
frmElet.TxtSec.Text = TBeletronico!eleDestino
frmElet.txtRecebido.Text = Format(TBeletronico!eleRecibo, "dd/mm/yy")
erro:
Select Case Err
Case 3021
MsgBox "O banco de dados está vázio!", vbCritical
End Select
Exit Function
End Function