PESQUISA MDB DE DUPLICIDADE EM MDB
Ola bom dia a todos gostaria de saber como faco uma consulta em uma tabela do access onde este um campo por exeplo rg onde nao que que este possa ser incluido 2 vezes com mesmo valor???
qualquer ajuda de codigo sera muito bem vinda
qualquer ajuda de codigo sera muito bem vinda
Você deseja evitar duplicidade? ou quer recuperar os registros duplicados? po quer que apareça apenas um de cada?
nao nao,eh o seguinte
tenho um equipamento que faz leitura de numero de rg dai ele salva em um banco de dados na tabela clientes ,estou fazendo um fechamento do dia....entao quero evitar que um determinado cliente possa ser cadastrado 2 x....ou seja tenho que fazer uma pesquisa na tabela toda para ver se ele existe se sim entao msgbox cliente existente se nao salva novo cliente...porem nao sei como fazer esta funcao.
Se puder me ajudar!!!
tenho um equipamento que faz leitura de numero de rg dai ele salva em um banco de dados na tabela clientes ,estou fazendo um fechamento do dia....entao quero evitar que um determinado cliente possa ser cadastrado 2 x....ou seja tenho que fazer uma pesquisa na tabela toda para ver se ele existe se sim entao msgbox cliente existente se nao salva novo cliente...porem nao sei como fazer esta funcao.
Se puder me ajudar!!!
Acredito que o q vc quer fazer, dependerá de uma pesquisa prévia. Tipo, se o nº do rg estiver cadastrado, é sinal que o cliente já possui cadastro. é isso?
Se for, vc deve fazer uma consulta prévia ao BD, se existir, recuperar os dados, se não, cadastrar (gravar no BD).
Se for, vc deve fazer uma consulta prévia ao BD, se existir, recuperar os dados, se não, cadastrar (gravar no BD).
sim mas veja bem,quem os coloca no bd eh o scanner entao ele apenas inclui os registros afinal as imagens sao nomeadas diferentemente porem quero fazer ele evitar de colocar registros duplo....imagine que o operador seja uma pessoa desligada e passe o rg por 2 x...dai ele ira gerar 2 imagens com nome diferentes porem o numero do rg esta sendo o mesmo....mas ate ai tudo bem...o meu problema eh que quando vou encerrar o dia por exemploquero fazer uma consulta de consistencia de dados onde nela quero identificar este problema de duplicacao e excluir caso sim...mas dai eh outra historia excluir eu sei so nao consigo imaginar parametros para esta comparacao do meu recorset.
Private Sub Command1_Click()
Dim db As Database
Dim rs As Recordset
Set db = OpenDatabase("C: este,mdb")
If RegistroExiste(db, "Cadastro", "RG", "123456789") Then
MsgBox "RG já existe"
Exit Sub
End If
Set rs = db.OpenRecordset("Cadastro")
rs.AddNew
rs!RG = "123456789"
rs.Update
End Sub
Function RegistroExiste(Banco As DAO.Database, Tabela As String, Campo As String, Valor As Variant) As Boolean
Dim sql As String
Dim rs As Recordset
sql = "select " & Campo & " from " & Tabela & " where " & Campo & " = "
If TypeName(Valor) = "String" Then
sql = sql & "'" & Valor & "'"
Else
sql = sql & Valor
End If
Set rs = Banco.OpenRecordset(sql)
RegistroExiste = (rs.RecordCount > 0)
End Function
não tem como fazer uma pesquisa do rg com o scanner antes de inserir o novo registro no BD??
seuado.recordsource = "select * from suatabela where rg like 'numerorg'"
seuado.refresh
if seuado.recordset.eof = false and seuado.recordset.bof = false then
if msgbox("rg já cadastrado incluir outro", vbyesno") = vbyes then seuado.recordset.addnew
end if
seuado.recordsource = "select * from suatabela where rg like 'numerorg'"
seuado.refresh
if seuado.recordset.eof = false and seuado.recordset.bof = false then
if msgbox("rg já cadastrado incluir outro", vbyesno") = vbyes then seuado.recordset.addnew
end if
beleza acho que ja ajuda!!valeu pessoal
Tópico encerrado , respostas não são mais permitidas