Ir para conteúdo
Fórum Script Brasil
  • 0

combo.listindex no update


Alex Mauricio

Pergunta

Pessoal, estou com a seguinte dúvida... Criei um insert conforme abaixo...

Private Sub cmdIncluirCupom_Click()
Dim checaTelefoneBloqueado As Integer
    If telefoneBloqueado.Value = 1 Then
        checaTelefoneBloqueado = 1
    Else
        checaTelefoneBloqueado = 0
    End If

Set Table_Cadastro = BancoDeDados.OpenRecordset("select * from TbCadastro where telefoneCliente = '" & Trim(txtTelefone.Text) & "'")
    If Table_Cadastro.RecordCount = 0 Then
        Dim ssql As String
        ssql = "insert into TbCadastro values("
        ssql = ssql & Trim(txtCodigoCliente.Text) & ",'"
        ssql = ssql & Trim(txtTelefone.Text) & "',"
        ssql = ssql & Val(checaTelefoneBloqueado) & ", '"
        ssql = ssql & Trim(txtNomeCliente.Text) & "',"
        ssql = ssql & Val(comboSituacao.ListIndex + 1) & ",'"
        ssql = ssql & Replace(Trim(txtDataCadastro.Text), "/", "") & "','"
        ssql = ssql & Replace(Trim(txtHoraCadastro.Text), ":", "") & "','"
        ssql = ssql & Replace(Trim(txtDataUltimaLigacao.Text), "/", "") & "',"
        ssql = ssql & Val(comboFonte.ListIndex + 1) & ",'"
        ssql = ssql & Trim(txtObservacoes.Text) & "')"
        BancoDeDados.Execute ssql
        MsgBox "Telefone adicionado com sucesso!", vbInformation + vbOKOnly, "Alerta"
        formatFlexGridCadastro
        carregaFlexGridCadastro
        limparCampos
        mostrarCampos
    Else
        MsgBox "Este telefone já existe no cadastro!", vbInformation + vbOKOnly, "Alerta"
    End If
End Sub
Repare que nos 2 combos, ele pega o indice para gravar no BD ( o motivo do listindex + 1 é por causa do primeiro índice )... Porém, agora eu quero fazer o seguinte... quando eu deu um duplo click no flex grid ele carrega os dados... eu gostaria de alterar nome, telefone, etc, porém nos 2 combos ele ta pegando o valor 0 ( zero ) mesmo eu utilizando o listindex+1... segue o código abaixo...
Private Sub cmdAlterarCupom_Click()
Dim ssql As String
Dim checaTelefoneBloqueado As Integer
If telefoneBloqueado.Value = True Then
    checaTelefoneBloqueado = 1
Else
    checaTelefoneBloqueado = 0
End If

If Trim(txtNomeCliente.Text) = "" Then
    MsgBox "Selecione um registro para alterar!", vbInformation + vbOKOnly, "Alerta"
Else
    ssql = "update TbCadastro set telefoneCliente = " & "'"
    ssql = ssql & Trim(txtTelefone.Text) & "',bloqueioCliente = " & ""
    ssql = ssql & Val(checaTelefoneBloqueado) & ", nomeCliente =" & " '"
    ssql = ssql & Trim(txtNomeCliente.Text) & "', situacaoCliente =" & ""
    ssql = ssql & Val(comboSituacao.ListIndex + 1) & ",dataCadastroCliente =" & " '"
    ssql = ssql & Replace(Trim(txtDataCadastro.Text), "/", "") & "',horaCadastroCliente =" & "'"
    ssql = ssql & Replace(Trim(txtHoraCadastro.Text), ":", "") & "', dataUltimaLigacao =" & "'"
    ssql = ssql & Replace(Trim(txtDataUltimaLigacao.Text), "/", "") & "', fonte = " & ""
    ssql = ssql & Val(comboFonte.ListIndex + 1) & ", observacoesGeraisCadastro = " & " '"
    ssql = ssql & Trim(txtObservacoes.Text) & "' where codigoCliente = " & Val(txtCodigoCliente.Text)
    BancoDeDados.Execute ssql
End If
End Sub

O que ta errado...

obs. aproveitando... o formato do telefone é (99)9999-9999, teria como utilizar um replace com 3 argumentos...

replace(trim(txtTelefone.text),"(","",")","","-","") => apenas um modelo do que eu quero fazer..rssrrs

obrigado

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

alex, ponha um breakpoint (F9) na linha q pega o ListIndex e clique normalmente em alterar. quando chegar la ele deve parar. ai cheque como esta o combo no momento.

quanto ao replace, esse telefone vem dum maskedbox?? se vier, é so você pegar pelo ClipText, não precisa de Replace.

senao, não tem como, você vai ter q usar tres Replaces.

Link para o comentário
Compartilhar em outros sites

  • 0
pelo jeito que está vou ter q usar 3 replace.... e fiz da seguinte maneira... esta errado??????????

faltou fecha um parentese. assim:

ssql = ssql & replace(replace(replace(Trim(txtTelefone.Text),"(",""),")",""),"-","") & "'

tenta agora

eu já usei o brake point.... ele aponta o listindex = 0

sim, mas, olha la o formulario. o combobox deve ta apontando pro primero não??

se você realmente mudou de indice antes, tem algum lugar q ele altera de volta pra 0.

se eu entendi os dados tão vindo de um flex grid não?? você checou se o flex grid ta setando o indice direitinho??

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...