Leandro_Pirozzi Postado Março 26, 2009 Denunciar Share Postado Março 26, 2009 Por exemplo:Tenho uma tela de cadastro de Usuario e senha, como fazer para exibir uma msg que já existe determinado usuário se o mesmo já existir na tabela?Private Sub cmdsalvar_Click() Dim SQLASS As String Dim icol As Integer Set cnass = New ADODB.Connection With cnass .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & App.Path & "\CONTATOS.mdb;" .Open End With Set rsass = New ADODB.Recordset Set rsass.ActiveConnection = cnass rsass.CursorLocation = adUseClient Set rsass = New ADODB.Recordset SQLASS = "INSERT INTO CONTATOS_SENHA " SQLASS = SQLASS & "(CODUSUARIO, SENHA )" SQLASS = SQLASS & "VALUES ( '" & Me.txtnome.Text & "','" & Me.txtsenha.Text & "')" Set rsass.ActiveConnection = cnass 'rsTarefas.Open SQL cnass.Execute SQLASS MsgBox "Cadastro de Assessor efetuado com sucesso"End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Macêdo Postado Março 27, 2009 Denunciar Share Postado Março 27, 2009 é só fazer uma busca antes com um select, caso encontre o nome na tabela informa, caso não encontre então insere.select codusuario, senha from contatos_senha where codusuario = '" & txtnome & "'"With rs_buscaif (.BOF and .EOF) then 'se não encontrou insereSet rsass = New ADODB.RecordsetSQLASS = "INSERT INTO CONTATOS_SENHA "SQLASS = SQLASS & "(CODUSUARIO, SENHA )"SQLASS = SQLASS & "VALUES ( '" & Me.txtnome.Text & "','" & Me.txtsenha.Text & "')"Set rsass.ActiveConnection = cnass'rsTarefas.Open SQLcnass.Execute SQLASSMsgBox "Cadastro de Assessor efetuado com sucesso"else msgobox "Usuario já existe" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Março 27, 2009 Autor Denunciar Share Postado Março 27, 2009 (editado) Hummm...tentei fzer mas deu alguns erros.tem como dar mais detalhes?esse with rs_busca não tem o end with?ele tb não precisa ser aberto?.open?desculpa as perguntas é q não entendi mesmo. Editado Março 27, 2009 por Leandro_Pirozzi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Macêdo Postado Março 28, 2009 Denunciar Share Postado Março 28, 2009 Não pus o codigo todo certinho não, foi só pra você pegar o fio da meada e tentar mesmo. Um With sempre precisa ser fechado com End With.O que quis dizer é que você tem que fazer um select antes de inserir, preencher um recordset onde o campo que você não quer que duplique seja igual ao que aparece na text, então se o recordset encontrar é porque já existe, então você trata para não inserir ou alterar, e caso o recordset venha vazio, ou seja recordcount = 0, é porque não existe ainda, então você põe o codigo para inserir neste caso, veja este exemplo:[b]faz o select para saber se o campo já existe[/b] With cmd .ActiveConnection = cnn .CommandType = adCmdText .CommandText = "select cod, nome from socios where cod = " & vCod_socio & "" Set rs = .Execute End With With rs If (.BOF And .EOF) Then [b]'se não existe, insere[/b] With cmd .ActiveConnection = cnn .CommandType = adCmdText .CommandText = "insert into socios " & _ "(cod, matricula, cpf, nome, rg, telefone, celular, nascimento, email, endereco, estado_civil, conjuge, pai, mae, empresa, telefone_empresa) values (" & _ vCod_socio & ",'" & _ Text_cod & "', '" & _ Text_cpf & "','" & _ Text_nome & "','" & _ Text_rg & "','" & _ Text_telefone & "','" & _ Text_celular & "','" & _ Text_nascimento & "','" & _ Text_email & "','" & _ Text_endereco & "','" & _ Combo_estado_civil & "','" & _ Text_conjuge & "','" & _ Text_pai & "','" & _ Text_mae & "','" & _ Text_empresa & "','" & _ Text_telefone_empresa & "');" .Execute End With vinfo = MsgBox("Cadastro efetuado com sucesso", vbInformation _ + vbOKOnly, "Cadastro de Sócios") Unload Me Form_socios.Show Else [b] 'se existe altera[/b] vinfo = MsgBox("Deseja salvar as alterações feitas" & _ " ao cadastro de " & rs!nome & " ? ", vbYesNo + vbQuestion _ , "Cadastro de Sócios") If vinfo = vbYes Then With cmd .ActiveConnection = cnn .CommandType = adCmdText .CommandText = "update socios set " & _ "cpf = '" & Text_cpf & "'," & _ "nome = '" & Text_nome & "', " & _ "rg = '" & Text_rg & "'," & _ "telefone = '" & Text_telefone & "'," & _ "celular= '" & Text_celular & "'," & _ "nascimento = '" & Text_nascimento & "'," & _ "email= '" & Text_email & "'," & _ "estado_civil = '" & Combo_estado_civil & "'," & _ "conjuge = '" & Text_conjuge & "'," & _ "pai = '" & Text_pai & "'," & _ "mae = '" & Text_mae & "'," & _ "empresa = '" & Text_empresa & "'," & _ "telefone_empresa = '" & Text_telefone_empresa & "'," & _ "endereco = '" & Text_endereco & "' where cod = " & vCod_socio & ";" .Execute End With vinfo = MsgBox("Alteração efetuada com sucesso", vbInformation _ + vbOKOnly, "Cadastro de Sócios") Unload Me Form_socios.Show End If End If End With Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Leandro_Pirozzi Postado Março 30, 2009 Autor Denunciar Share Postado Março 30, 2009 Opa Macêdo!!Vlw cara consegui fzer aqui pra não deixar gravar valores duplicados e ainda por cima atualizar!!Obrigadão!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Leandro_Pirozzi
Por exemplo:
Tenho uma tela de cadastro de Usuario e senha, como fazer para exibir uma msg que já existe determinado usuário se o mesmo já existir na tabela?
Private Sub cmdsalvar_Click()
Dim SQLASS As String
Dim icol As Integer
Set cnass = New ADODB.Connection
With cnass
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & App.Path & "\CONTATOS.mdb;"
.Open
End With
Set rsass = New ADODB.Recordset
Set rsass.ActiveConnection = cnass
rsass.CursorLocation = adUseClient
Set rsass = New ADODB.Recordset
SQLASS = "INSERT INTO CONTATOS_SENHA "
SQLASS = SQLASS & "(CODUSUARIO, SENHA )"
SQLASS = SQLASS & "VALUES ( '" & Me.txtnome.Text & "','" & Me.txtsenha.Text & "')"
Set rsass.ActiveConnection = cnass
'rsTarefas.Open SQL
cnass.Execute SQLASS
MsgBox "Cadastro de Assessor efetuado com sucesso"
End Sub
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.