• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

_Rest_

[VB6] problema com dados duplicados

2 mensagens neste tópico

Boas!

O meu problema e que  quando o  Case_number se repete dá erro pk não se pode duplicar valores na chave primaria. Eu queria meter uma msgbox a dizer k o valor esta repetido e ter a possibilidade para voltar a inserir... mas ja teitei e nao konsigo


Dim CONDecsis As ADODB.Connection
Dim rs As ADODB.Recordset


Private Sub Form_Load()

Set CONDecsis = New ADODB.Connection
CONDecsis.ConnectionString = "Provider=Microsoft.jet.oledb.4.0; Data Source=" & App.Path & "\DB\Decsis.mdb"
CONDecsis.Open
CONDecsis.CursorLocation = adUseClient

End Sub

Private Sub Gravar()
    
    rs!case_number = txtcase_number.Text
    rs!num_chamada = txtnum_chamada.Text
    rs!tipo_produto = txttipo_produto.Text
    rs!modelo = txtmodelo.Text
    rs!num_cliente = txtcliente.Text
    rs!serial_number = txtserial_number.Text
    rs!observações = txtobservações.Text
    rs!avaria = txtavaria.Text
    rs!estado = txtestado.Text
    rs!localização = txtlocalização.Text
    
End Sub

Private Sub LimparText()

    txtcase_number.Text = ""
    txtnum_chamada.Text = ""
    txttipo_produto.Text = ""
    txtmodelo.Text = ""
    txtcliente.Text = ""
    txtserial_number.Text = ""
    txtobservações.Text = ""
    txtavaria.Text = ""
    txtestado.Text = ""
    txtlocalização.Text = ""
    
End Sub

Private Sub cmdAdicionar_Click()

    Set rs = New ADODB.Recordset
    rs.CursorType = adOpenStatic
    rs.CursorLocation = adUseClient
    rs.LockType = adLockPessimistic
    rs.Source = "Select * From Chamadas"
    rs.ActiveConnection = CONDecsis
    rs.Open


    rs.AddNew
    Call Gravar

    rs.Update
    Call LimparText
        
End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fazes uma verificação antes de inserires.

Tipo... fazes um SELECT case_number FROM tabela Where case_number = txtcase_number.text

Depois analisas o .RecordCount ...se for igual a 0 entao executas o código para inserir...se for diferente de 0 entao envias a MsgBox e não executas o codigo para inserir ...

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora