Ir para conteúdo
Fórum Script Brasil

new_rayderss

Membros
  • Total de itens

    57
  • Registro em

  • Última visita

Posts postados por new_rayderss

  1. Bom pessoal estou fazendo uma esquema de mascara de texto, que é bem melhor que o componente mask.

    Private Sub txtIdentidade_LostFocus()
    ' enquanto o n° de caracteres for menor que 9 a caixa de texto não perde o foco nem mesmo para outra caixa que peça foco.
    If Len(txtIdentidade) < 9 Then
    txtIdentidade.SetFocus
        If Not txtNome = Empty Then
        MsgBox "Informe o n° da identidade do profissional " & txtNome & ".", vbOKOnly, "Campo Incompleto"
        txtIdentidade.SetFocus
        Exit Sub
        Else
        MsgBox "Informe o n° da identidade do profissional.", vbOKOnly, "Campo Incompleto"
        txtIdentidade.SetFocus
        Exit Sub
        End If
    Else
    txtIdentidade.MaxLength = 12
    txtIdentidade = Format(txtIdentidade, "00\.000\.000\-0")
    End If
    
    ' Aqui depois da mascara ser aplicada ele verifica se alguém mexeu
    If len(txtIdentidade) < 12 Then
    MsgBox "O campo foi anulado informe-o novamente", vbCritical + vbOKOnly, "Campo Anulado"
    txtIdentidade.SetFocus
    txtIdentidade.Text = ""
    End If
    End Sub

    Pois bem, o problema é que se retiro o último n°( o q vem depois do -) ele não da o erro de modificado. E ainda por cima deixa assim.

    ex: 23.231.323-2, tirei o último número fico assim -02.323.132-.

    Agradeço desde já atenção. ^^

  2. Poxa as vezes sou muito distraído, foi mal.

    Mas não sei porque ele esta implicando com a atualização(update do datacontrol). E no momento eu estou usando o mask para testar o mais importante, porque o dtpicker não esta salvando no banco.

    DataConsulta.Recordset.Filter = "Data = #" & mskData.Text & "# And Hora = #" & cboHora.Text & "# And CodigoDoProfissional = " & txtCodPro.Text
    
    Set DataConsulta.Recordset = DataConsulta.Recordset.OpenRecordset
    
    If DataConsulta.Recordset.RecordCount >= 1 Then
    MsgBox "Tem registro"
    txtCodPro.Text = ""
    txtCodPro.SetFocus
    Else
    DataConsulta.Recordset.Close
    End If
    Desativar Me
    Verificar = 0
    Fechado Me
    cmdCancelar.Caption = "&Sair"
    cmdCancelar.ToolTipText = "Encerra a ação"
    'dtpData.Enabled = False
    cmdNovo.Enabled = True
    cmdGuardar.Enabled = False
    cmdEditar.Enabled = True
    cmdLocalizar.Enabled = True
    cmdExcluir.Enabled = True
    DataConsulta.Visible = True
    DataConsulta.Recordset.Update

    o erro que da..

    "'object invalid or no longer set" - 3420

    ou se eu tirar DataConsulta.Recordset.Close

    "Update or CancelUpdate without addnew or edit" - 3020

  3. esta funcionando a pesquisa, mais ainda não funciono.

    DataConsulta.Recordset.Filter = "Data = #" & mskData.Text & "# And Hora = #" & cboHora.Text & "# And CodigoDoProfissional = " & txtCodPro.Text
    If DataConsulta.Recordset.RecordCount >= 1 Then
    MsgBox "Tem registro"
    txtCodPro.Text = ""
    txtCodPro.SetFocus
    Else
    .
    .

    ele não esta reconhecendo o registro, eu posso digitar qualquer codigo ele fala que existe sem existir.

    --

    E em relação a DTPicker ele não está registrando a data no banco de dados. Existe algum modo de configura-lo ?

  4. Kuroi to meio por fora no que posso fazer

    Private Sub cmdGuardar_Click()
    
    If cboServ = "" Then
    MsgBox "Informe o serviço que será prestado ao animal", vbOKOnly, "Campo Vazio"
    Exit Sub
    End If
    
    If dtpData = "" Then
    MsgBox "Informe a data que será realizada o serviço", vbOKOnly, "Campo Vazio"
    Exit Sub
    End If
    
    If cboHora = "" Then
    MsgBox "Informe a hora que será realizada o serviço", vbOKOnly, "Campo Vazio"
    Exit Sub
    End If
    
    If cboBusc = "" Then
    MsgBox "Informe se deseja buscar", vbOKOnly, "Campo Vazio"
    Exit Sub
    End If
    
    If DataConsulta.Recordset.Filter = "Data" & dtpData.Value And "Hora" & cboHora.Text And "CodigoDoProfissional" & txtCodPro.Text > 1 Then
    'DataConsulta.Recordset.Filter = "Data" & dtpData.Value And "Hora" & cboHora.Text And "CodigoDoProfissional" & txtCodPro.Text > 1
    MsgBox "Profissional já cadastrado"
    txtCodPro.Text = ""
    Else
    .
    .
    .

    tipo eu não sei como ele vai verificar isso?, eu tentei isso mais não está dando certo.

  5. cadacons.png

    tem esse cadastro, aí faço o preenchimento. E quando for gravar ele verifica se aquele funcionário(que sera identificado pelo seu código único) fará um atendimento naquele dia e horario, se ele tiver aquele horário ocupado o sistema avisa para escolher outro.

    É isso, só quis reforçar a ideia, só para sanar qualquer tipo de duvida. Irei testar o que você falo ai encima.

    E sobre o componente, tem uma caixa texto que possui um icone de calendário junto com ela. Achei que isso seria melhor para o campo.

  6. Hehhe foi isso mesmo que esqueci :P vlw!!

    ==

    E tenho uma pergunta não sei se é exatamente relacionado com consulta, caso não seja eu edito aqui e crio o tópico.

    Bom a idéia é a seguinte, eu realizo um cadastro de serviço que prestarei ao animal, então eu queria saber como verifico se tal funcionário irá realizar tal serviço naquela hora e dia, sendo que os intervalos de horas é de 1 em 1 hora.

    Acho que não tem haver com consulta :P porque eu vou verificar isso na hora que estiver no cadastro de serviço, mas sei lá vai que tem um pouco.

    E qual o nome do componente que eu posso usar para colocar a data e hora automaticamente?

  7. Fala kuroi, desculpa a demora.

    Consegui resolver esse problema..

    Private Sub txtCodCli_Validate(cancel As Boolean)
    Data1.Refresh
    If OptTodos = True Then
    Data1.Recordset.Filter = "CodigoDoCliente = " & txtCodCli.Text
        If Not txtCodCli = Empty Then
        Set Data1.Recordset = Data1.Recordset.OpenRecordset
        Else
        End If
    ElseIf OptClub = True Then
    Data1.Recordset.Filter = "Grupo = 'Clubinho' And CodigoDoCliente = " & txtCodCli.Text
        If Not txtCodCli = Empty Then
        Set Data1.Recordset = Data1.Recordset.OpenRecordset
        Else
        End If
    ElseIf optSimp = True Then
    Data1.Recordset.Filter = "Grupo = 'Simples' And CodigoDoCliente = " & txtCodCli.Text
        If Not txtCodCli = Empty Then
        Set Data1.Recordset = Data1.Recordset.OpenRecordset
        Else
        End If
    Else
    Data1.Recordset.Close
    End If
    End Sub
    Agora deixa explicar.. o cara pesquiso tal cliente acho legal, aí quis pesquisar outro, logo o cara tem que apagar o campo ou selecionar tudo e colocar tal valor, certo. Bom usando validate fico certinho e não deu erro quando o cara apagava o campo (txtCodCli) para colocar outro valor. Porém um outro erro aconteceu quando o campo perdia o foco ele dava esse erro mesmo que mostrei, aí eu fiz esses if aí para abrir só quando tiver algo digitado e foi certinho. E em relação a digitação só de números eu fiz um módulo para isso.
    Private Sub txtCodCli_KeyPress(KeyAscii As Integer)
    SoNumeros KeyAscii
    End Sub
    Então resumindo quando o campo fica vazio aparece os cadastros de determinada opção, esse não estava permitindo isso. Agradeço por ter me ajudado, e espero que as minhas dúvidas sejam úteis não só para mim mas para outras pessoas também. == E para não perder a viagem, eu quero que quando o usuario clicar no Enter ele passe para um outro objeto, porém não está funcionando.
    Private Sub Form_KeyPress(KeyAscii As Integer)
     If KeyAscii = vbKeyReturn Then
     SendKeys ("{TAB}")
     KeyAscii = 0
     End If
     End Sub

    eu usei isso, e não sei porque não está funcionando sendo que usei em um outro formulário e esta tudo direitinho.

  8. Funciono!! Mas fiquei curioso como funcionaria como validate, usaria o cancel? E tipo quando preencho funciono direito, mas caso eu apague para colocar outro nome ele da erro, o validate resolveria ?

    Eu usei como lost focus e tb não fico ruim quanto a ter 15000 :P

    E obrigado pela força amigo!!

  9. kuroi consegui fazer a seleção usando as opções.. veja como fiz

    Private Sub Form_Load()
    Data1.DatabaseName = App.Path & "\BD\db2.mdb"
    Data1.RecordSource = "Animais"
    Data1.RecordsetType = 1
    centraliza Me
    End Sub
    
    Private Sub txtCodCli_Change()
    Data1.Refresh
    If OptTodos = True Then
    Data1.Recordset.Filter = "CodigoDoCliente = '"
    Set Data1.Recordset = Data1.Recordset.OpenRecordset
    ElseIf OptClub = True Then
    Data1.Recordset.Filter = "Grupo = 'Clubinho'" And "CodigoDoCliente = '"
    Set Data1.Recordset = Data1.Recordset.OpenRecordset
    ElseIf OptSimp = True Then
    Data1.Recordset.Filter = "Grupo = 'Simples'" And "CodigoDoCliente = '"
    Set Data1.Recordset = Data1.Recordset.OpenRecordset
    Else
    Data1.Recordset.Close
    End If
    End Sub
    
    Private Sub OptClub_Click()
    Data1.Refresh
    If OptClub = True Then
    Data1.Recordset.Filter = "Grupo = 'Clubinho'"
    Set Data1.Recordset = Data1.Recordset.OpenRecordset
    Else
    Data1.Recordset.Close
    End If
    End Sub
    
    Private Sub optSimp_Click()
    Data1.Refresh
    If OptSimp = True Then
    Data1.Recordset.Filter = "Grupo = 'Simples'"
    Set Data1.Recordset = Data1.Recordset.OpenRecordset
    Else
    Data1.Recordset.Close
    End If
    End Sub
    
    Private Sub OptTodos_Click()
    Data1.Refresh
    If OptTodos = True Then
    Data1.Recordset.Filter = ""
    Set Data1.Recordset = Data1.Recordset.OpenRecordset
    Else
    Data1.Recordset.Close
    End If
    End Sub
    
    Private Sub SairCon_Click()
    Unload Me
    End Sub
    
    Public Sub centraliza(f As Form)
       Dim TopX, TopY As Integer
       TopX = ((MDIForm1.Width - f.Width) / 2) + MDIForm1.Top
       TopY = ((MDIForm1.Height - f.Height) / 2) + MDIForm1.Left
       f.Move TopX, TopY
    End Sub

    Porém como nada é perfeito :P o filtro por cliente não funciono ainda. Dando esse erro \/

    '3075'

    "Syntax error in string in query expression 'CodigoDoCliente = ';'.

    e não entendi, eu to escrevendo a sintaxe errado né? Ps: o CodigoDoCliente esta determinado no banco de dados como número.

  10. programação do form é isso só

    Private Sub Form_Load()
    Data1.DatabaseName = App.Path & "\BD\db2.mdb"
    Data1.RecordSource = "Animais"
    Data1.RecordsetType = 0
    centraliza Me
    End Sub
    
    Private Sub OptClub_Click()
    Data1.Recordset.Filter = "Grupo = 'Clubinho'"
    End Sub
    
    Private Sub optSimp_Click()
    Data1.Recordset.Filter = "Grupo = 'Simples'"
    End Sub
    
    Private Sub OptTodos_Click()
    Data1.Recordset.Filter = ""
    End Sub
    
    Private Sub SairCon_Click()
    Unload Me
    End Sub

    e usei as propriedades do dbgrid para aparecer os valores.

    E quanto ao código do cliente eu nem tinha add ainda e eu estou usando assim o 'CodigoDoCliente' no banco de dados.

    E em relação esse codigo é para add aonde? e para o código do cliente tem que fazer uma variável para receber o valor?

    Edit: http://www.4shared.com/file/68536079/a0e15...Final_-_RD.html << caso queira ver qualquer coisa, atualizei.

  11. Essa ta sinistra... :wacko: Tentei vários exemplos que vi por aí. mas não consegui adaptar para o meu projeto e pior não consegui nem entender como funciona essa estória de consulta direito, por isso estou aqui para pedir ajuda.

    Bom eu estou usando um DBGrid para mostrar os resultados e um controle Data para conectar o banco de dados.

    Pois bem, a busca funcionara através do código do cliente, que pode ter diversos animais. Na busca como padrão vem marcado Todos mas pode marcar o clubinho ou simples, que são relacionados aos animais. Então se marco clubinho só ira aparecer os animais que pertencem a categoria clubinho.

    Bom o meu pedido de ajuda, é que como posso fazer a seleção de resultados para cada opção.

    ex: Marquei Todos aí aparece o(s) animais do cliente cujo código digitei.

    ex2: Marquei Clubinho aí aparece o(s) animais do cliente cujo código digitei. Sendo que só pode ser o da categoria clubinho, ou seja, caso o cliente tenha outro animal no simples esse não aparece.

    ex3: Marquei Simples a mesma idéia acima só que só terão os animais da categoria simples.

    Espero ter explicado direitinho e clamo pela ajuda de vocês amigos!! ^^

    Amostra do formulário de busca:

    consul-1.png

  12. então... fala uma coisa, você já tentou fazer a insercao do animal sem estar vindo do form do cliente?? e esse codigo funcionou??
    Sim, perfeitamente.

    tipo qual o codigo q ta no form load do animal?? tipo, esse objeto data aponta pra algum tabela já no load ou ele ta vazio nessa hora??

    Private Sub Form_Load()
    Data1Animal.DatabaseName = App.Path & "\BD\db2.mdb"
     Data1Animal.RecordSource = "Animais"
     Data1Animal.RecordsetType = 0
     centraliza Me
     If lblCliChama.Caption = "x" Then 'Significa que esta vindo do cliente
        Call cmdNovo_Click
    End If
    
    End Sub
    além de estar aí no propriedades tb configurei. Quanto ao label troco direitinho o caption, porém não chamo a função.
    Pergunta = MsgBox("Deseja cadastrar os animais do cliente?", vbYesNo + vbQuestion, "Pergunta")
    If Pergunta = vbYes Then
        frmAnimal.txtCodCli(2).Text = Me.txtCodCli.Text
        frmAnimal.txtNome(1).Text = Me.txtNome.Text
        Unload Me
        frmAnimal.lblCliChama.Caption = "x"
        frmAnimal.Show
    Else
    Exit Sub
    End If

    ===

    Kuroi to deixando o projeto anexado para você ver, se errei em alguma coisa. E quanto a conexão de banco de dados via código estou procurando não fazer assim, porque se não atrasaria o término. http://www.4shared.com/file/68536079/a0e15...Final_-_RD.html

  13. Putz não consegui entender o que você quis dizer exatamente..

    mais deixa eu explicar melhor...

    No cadastro do cliente depois de preencher tudo e clicar no guardar, ele vai perguntar.. \/

    Pergunta = MsgBox("Deseja cadastrar os animais do cliente?", vbYesNo + vbQuestion, "Pergunta")
    If Pergunta = vbYes Then
        frmAnimal.txtCodCli(2).Text = Me.txtCodCli.Text
        frmAnimal.txtNome(1).Text = Me.txtNome.Text
        Unload Me
        frmAnimal.Show
        frmAnimal.cmdNovo_Click
    Else
    Exit Sub
    End If
    Aí quando vai para o cadastro do animal, queria ativar isso \/
    Public Sub cmdNovo_Click()
       'If Pergunta = vbYes Then
    Data1Animal.Recordset.AddNew
    Ativar Me
    
    Verificar = 1
    Fechado Me
    
    txtCodAnimal.Locked = True
    txtCodCli(2).Text = ""
    txtCodCli(2).Locked = True
    txtNome(1).Locked = True
    txtMatri.Text = ""
    cmdCancelar.Caption = "&Cancelar"
    cmdCancelar.ToolTipText = "Cancela a ação"
    cmdNovo.Enabled = False
    cmdGuardar.Enabled = True
    cmdEditar.Enabled = False
    cmdLocalizar.Enabled = False
    cmdExcluir.Enabled = False
    cmdCancelar.Enabled = True
    Data1Animal.Visible = False
    Call GerarNovoCodigo
    
    'ElseIf cmdNovo_Click = True Then
        'ElseIf cmdNovo_Click = True Then
      ' codificação
    'End If
    End Sub

    assim que eu estou fazendo, só que ele ta implicando com o data que vai add um novo registro no cadastro do animal. Os comentários foram tentativas que não resultou em nada :P entendeu? estava com cara que ia dar tudo certo e deu esse erro aí. E não entendi a estória do Label.

  14. Eu fiz esse método de habilitar de um modo um pouco diferente. Mais não é isso que me referi, é tipo quando gravo o cadastro do cliente ele pergunta para se quer cadastrar o animal, como te falei. Então eu digo sim ele leva as informações que quero para o cadastro do animal certo, como você me ensino. Porém não dá para cadastrar o animal, então eu quero saber como posso fazer isso, cadastrar o animal da mesma forma se eu tivesse usado o botão novo.

    entendeu? Agradeço a ajuda que você me deu até agora, mas peço mais essa força :)

×
×
  • Criar Novo...