|
Postada em 07/11/2007 17:42 hs
oi... eu estou fazendo assim pra abrir a minha consulta If Rs_Bai.State = 1 Then Rs_Bai.Close Rs_Bai.Open "SELECT * FROM SP where left([CEP],5) LIKE '" & Left(txt_Ref_Con, 5) & "'", BanCe1, adOpenDynamic, adLockOptimistic txt_rua.Text = Rs_Bai.Fields("LOGRADOURO") txt_nom.Text = Rs_Bai.Fields("BAIRRO") CarregaListView
a minha pegunda é. eu quero salvar um valor em tudos os cep de um bairro eu fiz assim mais não deu certo For iCount = 0 To Rs_Bai.RecordCount Rs_Bai("valor") = Moeda(txt_Pre.Text) 'Rs_Bai.MoveNext Next iCount Rs_Bai.Update
|
|
|
|
|
Postada em 07/11/2007 18:47 hs
usando ADO para inserir registros vc tem que usar a cláusula ADDNEW, exemplo: rs_bai.addnew rs_bai("valor") = Moeda(txt_Pre.Text) rs_bai.update Ou usar SQL: Dim sql as String sql = "INSERT INTO tabela(nome,valor)VALUES('JOAO'," & Moeda(txt_pre.text) & ")" BanCe1.Execute sql Bom, esta é a parte de inclusão de registro mas não estou entendendo o que vc quer fazer. Vc consulta e depois quer inserir um registro novo?? Ou quer editar o registro corrente??
|
TÓPICO EDITADO
|
|
|
|
|
Postada em 08/11/2007 09:24 hs
descp., e editar eu faço uma aconsulta pelo cep e carrega no ListView , ai eu queria cologar um valor e todos os cep iguais au mesmo tempo, a + mais um peguntia tem como eu fazer esta consulta ficar mais rapido o meu banco de tado tem 192232 + rapido
|
|
|
|
Postada em 08/11/2007 22:33 hs
Edson, eu não estou entendendo ainda. O que entendi é que vc quer editar os registros colocando o valor de "TXT_PRE.TEXT" para o campo "VALOR" só não entendi o que vc escreveu na parte de colocar um valor e todos os ceps iguais ao mesmo tempo. Em relação à sua segunda pergunta: Com uma tabela com esta quantidade de registros eu recomendo pensar em outro banco de dados mas por enqüanto segue sugestão: Indexe no banco o campo-chave (colocando como chave primária) e o campo que vc vai consultar indexe também. Se puder procure pelo campo-chave, geralmente um campo númerico, caso não seja possível procure pelo outro campo indexado. Preferencialmente usando como comparador o "=" ou, no caso de campos tipo texto usando a palavra entre apóstrofos => campo LIKE 'JOAO' Se não for possível procure indo pelo início da sentença: CAMPO LIKE 'JO%'
|
|
|
|
Postada em 09/11/2007 09:53 hs
é isto mesmo, quanto eu faço uma consulta de cep's ele carrega num ListView, certo ai eu queria cologar no campo "valor" todo os cep's igual "XXXXX" , 10,00 R$. a sua ideia de fazer outro banco de BAIRRO de dado e vez e deu certo. eu vez assim quanto o cadastro um cliente, ai ele faz uma pesqusa de cep no banco que tem "192232" da ai ele carrega os dados do endereço e bairro. ser tiver um cep igual ele não salva no meu banco de bairro If txt_Cep.Text <> "" Then Set Rs_Bai = New ADODB.Recordset Rs_Bai.CursorLocation = adUseClient If Rs_Bai.State = 1 Then Rs_Bai.Close Rs_Bai.Open "SELECT * FROM bairro where left([bd_tax_002],5) ='" & Left(txt_Cep.Text, 5) & "'", Banco, adOpenDynamic, adLockOptimistic If (Rs_Bai.RecordCount = 0) Then Rs_Bai.AddNew Rs_Bai.Fields("bd_tax_001") = txt_Bai.Text Rs_Bai.Fields("bd_tax_002") = txt_Cep.Text Rs_Bai.Fields("bd_tax_003") = "0,00" Rs_Bai.Update Rs_Bai.Close Else Rs_Bai.Close End If End If ai depois ele vai em outro formulario cadastra os valores por bairro. assim da certo
|
|
|
|
Postada em 11/11/2007 12:25 hs
Pelo que entendi é assim: vc quer que para os CEPs IGUAIS A 01000-000 SEJA VALOR = 10,00 E QUE PARA CEPs IGUAIS A 02000-000 SEJA VALOR = 20,00. Se for isso eu recomendo utilizar SQL com a cláusula UPDATE, exemplo: Dim sUpdt as String sUpdt = "UPDATE Bairro SET Valor = 10.00 WHERE CEP = '010000-000'" Banco.Execute sUpdt sUpdt = "UPDATE Bairro SET Valor = 20.00 WHERE CEP = '020000-000'" Banco.Execute sUpdt Entendeu? Lembre-se que SQL é padrão americano então não utilize vírgulas como separador decimal e sim PONTO ( . ) sempre ok? Qualquer dúvida postae at+
|
|
|