Estou de volta! Muito tempo heim! Más... foi por justa causa!
Hoje lhes apresento um modelo que com a permissão do Tomaz vou disponibilizar a todos!
Sistema todo desenvolvido em Excel com banco Access e interação completa via compartilhamento em rede.
Alguns recursos:
* Cadastro de Usuários com seleção de acessos;
* Cadastro de Funcionários; Clientes; Fornecedores; Ordens de Serviço... Etc.
* Barras de Menu personalizadas;
* Mensagens de ações personalizadas e automáticas;
* Registro de fotos... Ai é o canal heim!
* Report de erros direto nas telas de ação e registro no Menu Principal e banco de dados para consulta e muito mais!
Além de tudo... a grande sacada... um PDV completo para que, tudo funcione em conjunto! É Toys Galera!
Demorei más voltei com novidades e muitas novidades!
Quem gostar de desafio ai está! Tomaz... Libera a galera ai!
Uma breve demonstração de registro em sistema!
Novo Registro - testa todo o código no banco e libera para gravar o registro atual.
Sub Novo() '--> Gerar Novo Registro StatusBar1.Panels(7).Text = "Gerando Novo Registro..." 'Ações do comando resposta = MsgBox("Gerar Novo Registro?", 36, "Sistema All Control") If resposta = (vbYes) Then On Error GoTo TratErr 'Ação do Formulário 'Cria variável que armazena os comandos SQL Dim ComandoSQL As String 'Armazena na variável o comando que fará a consulta SQL no BD Access ComandoSQL = "select * from Clientes" 'Chama a rotina que faz a conexão com o BD Call Conecta 'Atribui a variável objeto de BD a execução dos comandos SQL Set consulta = BANCO.OpenRecordset(ComandoSQL) While Not consulta.EOF ID = consulta(0) consulta.MoveNext Wend Call Desconecta Me.TextBox_Codigo = ID + 1 Call testa_codigo StatusBar1.Panels(7).Text = "Gerando Novo Registro..." & ID + 1 'Call Cadastro 'Call Atualizar Exit Sub valor = 0 TratErr: If Err.Number <> 0 Then Form_menu.StatusBar1.Panels(11).Text = Err.Number & " - " & Err.Description StatusBar1.Panels(11).Text = Err.Number & " - " & Err.Description End If StatusBar1.Panels(7).Text = "...Registro Disponibilizado!" Me.TextBox_Nome.SetFocus End If If resposta = vbNo Then StatusBar1.Panels(7).Text = "...Navegando no Sistema!" End If End Sub Ação para gravar os dados no banco de dados Sub Registrar() '--> Registrar Informações StatusBar1.Panels(7).Text = "Registrando informações..." 'Ações do comando resposta = MsgBox("Registrar informações?", 36, "Sistema All Control") If resposta = (vbYes) Then On Error GoTo TratErr 'Ação do Formulário If Me.TextBox_Nome.Text = "" Then StatusBar1.Panels(7).Text = "Nome / Empresa é Obrigatório!" Exit Sub End If If Me.TextBox_Registro.Text = "" Then StatusBar1.Panels(7).Text = "Necessito do Registro (CPF / CNPJ)!" Exit Sub End If 'Cria variável que armazena os comandos SQL Dim ComandoSQL As String 'Armazena na variável o comando que fará a consulta SQL no BD Access ComandoSQL = "select * from Clientes" 'Chama a rotina que faz a conexão com o BD Call Conecta 'Atribui a variável de Objeto de BD a execução dos comandos SQL Set consulta = BANCO.OpenRecordset(ComandoSQL) 'Enquanto consulta (variável objeto do BD)... With consulta 'Abre o Recordset do BD para inserção .AddNew 'Armazena em cada um dos campos do BD os valores constantes nas caixas de texto e combo do formulário .Fields("Nome") = Me.TextBox_Nome.Text .Fields("Registro") = Me.TextBox_Registro.Text .Fields("Tipo") = Me.TextBox_Tipo.Text .Fields("Status") = Me.ComboBox_Status.Text .Fields("CEP") = Me.TextBox_CEP.Text .Fields("Endereco") = Me.TextBox_Endereco.Text .Fields("Numero") = Me.TextBox_Numero.Text .Fields("Complemento") = Me.TextBox_Complemento.Text .Fields("Referencia") = Me.TextBox_Referencia.Text .Fields("Bairro") = Me.TextBox_Bairro.Text .Fields("Cidade") = Me.TextBox_Cidade.Text .Fields("Estado") = Me.ComboBox_Estado.Text .Fields("Email") = Me.TextBox_Mail .Fields("Contato") = Me.TextBox_Contato .Fields("Telefone") = Me.TextBox_Telefone .Fields("Foto") = Me.Text_caminho .Fields("Data") = Me.TextBox_Data destino = ThisWorkbook.Path & "\Clientes\" & Me.TextBox_Nome & ".jpg" fonte = Me.Text_caminho If fonte <> "" Then FileCopy fonte, destino End If Image_foto.Picture = LoadPicture() 'Efetiva a atualização do BD .Update End With 'Fecha o Recorset e a conexão com o BD consulta.Close BANCO.Close 'Chama a rotina que desconecta do BD (libera variáveis objeto de BD) Call Desconecta Call Atualiza_Grid StatusBar1.Panels(7).Text = "...Informações registradas!" Me.TextBox_Nome.SetFocus Me.TextBox_Codigo.Text = "" Me.TextBox_Nome.Text = "" Me.TextBox_Registro.Text = "" Me.TextBox_Tipo.Text = "" Me.ComboBox_Status.Text = "" Me.TextBox_CEP.Text = "" Me.TextBox_Endereco.Text = "" Me.TextBox_Numero.Text = "" Me.TextBox_Bairro.Text = "" Me.TextBox_Complemento.Text = "" Me.TextBox_Referencia.Text = "" Me.TextBox_Bairro.Text = "" Me.TextBox_Cidade.Text = "" Me.ComboBox_Estado.Clear Me.TextBox_Mail.Text = "" Me.TextBox_Contato.Text = "" Me.TextBox_Telefone.Text = "" Me.Text_caminho.Text = "" Me.TextBox_Localizar.Visible = False Me.TextBox_Nome.SetFocus Call Estados Me.Image_foto.Picture = LoadPicture(ThisWorkbook.Path & "\Clientes\" & "Clientes" & ".jpg") 'Abandona a subrotina Exit Sub TratErr: If Err.Number <> 0 Then Form_menu.StatusBar1.Panels(11).Text = Err.Number & " - " & Err.Description StatusBar1.Panels(11).Text = Err.Number & " - " & Err.Description End If End If If resposta = vbNo Then StatusBar1.Panels(7).Text = "...Navegando no Sistema!" End If End Sub