Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

meirelles

sql server / access - sinistro

Recommended Posts

POW FIZ MEU CONTROLE DE PAGAMENTO TODO USANDO SQL SERVER 7.0, MAS DESCOBRI QUE O HOST QUE VAI HOSPEDAR MEU SITE, NÃO TEM SUPORTE DE SQL SERVER, ENTÃO EU TENTEI MIGRAR NO ACCESS.PRONTO, VEIO OS PROBLEMAS, TIPOS DE DADOS. VOU POSTAR ALGUMAS DÚVIDAS.NA HORA DE ESCREVER STRINGS DE SQL TEM ALGUMA DIFERENÇA?PORQUE EU TO COM PROBLEMAS JUSTAMENTE NELAS.UMA DEU PROBLEMAS NO INNER JOINA OUTRA NO UPDATE...(TIPOS DE DADOS INCOMPATÍVES, EXPRESSÃO DE CRITÉRIO.ENFIM, TÁ TUDO DANDO PAU.MEU BANCO SQL É PEQUENO.VAMOS LÁ:ID - AUTONUMERAÇÃOLOGIN - CHARQUANT_HORA - CHARDIA - NUMERICMES - NUMERICANO - NUMERIC FIZ A MESMA COISA NO ACCESS, MAS A UNICA STRING QUE TÁ FUNCIONANDO É A DO INSERT, A DO SELECT NÃO FUNCIONA, E A DO UPDATE TMB NÃO.

Compartilhar este post


Link para o post
Compartilhar em outros sites

...FIZ A MESMA COISA NO ACCESS, MAS A UNICA STRING QUE TÁ FUNCIONANDO É A DO INSERT, A DO SELECT NÃO FUNCIONA, E A DO UPDATE TMB NÃO.

coloque ae as SQL que nao estao funcioando!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

olábrother.. assimeu nao uso sql server.. mas no access, quando o campo é string, você usa uma aspa simples.. se o campo for numero e data, você nao usa aspa simplesas coisas que mais confundem são essas..por exemplo:sql = "select * from tabela where campo_numero = "& variavel_numero &" and campo_string = '"& variavel_string &"' "se liga no modo que é colocada a variavel após o igual.o que varia, em geral, é isso..espero ter ajudado..t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

BEM VOU TENTAR SEM ASPAS SIMPLES NO ACCESS, PQ JUSTAMENTE EU TO USANDO ASPAS SIMPLES...BEM VAMOS AS STRINGS

SQL = "UPDATE TBCALCULA SET login = '" & login &"', dia = '" & dia &"',mes = '" & mes &"' where login = '" & login &"', dia = '" & dia &"',mes = '" & mes &"'"

e a instrução do select que eu usei vou tentar lembrar... calmae pq eu não to em casa, to no trabalho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sera que essa instrucao nao seria assim?!?!??..me corrijam se eu estiver errada!!

SQL = "UPDATE TBCALCULA SET login = '" & login &"', dia = '" & dia &"',mes = '" & mes &"' where login = '" & login &"' AND dia = '" & dia &"'AND mes = '" & mes &"'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

tá certo, eu que escrevi errado, pq eu recortei e colei, mas é justamente essa intrução que você escreveu que ta dando pau, mil perdões!

SQL = "UPDATE TBCALCULA SET login = '" & login &"', dia = '" & dia &"',mes = '" & mes &"' where login = '" & login &"' AND dia = '" & dia &"'AND mes = '" & mes &"'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

tigger - eu acho que a dica do dark tá certa, mas ainda não testei, talvez com usando somente aspas simples para strings, no caso de numericas, usar somente aspas duplas... mas a possibilidade de não ser isso é grande tmb. se alguém souber de algo mais que possa estar errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP

[*]

 

[*]SQL "UPDATE TBCALCULA SET login = ('"&login&"'),"

 

[*]'** repare na mudanca dessas duas linhas **'

 

[*]SQL = SQL & " dia = ("&dia&"),"

 

[*]SQL = SQL & " mes = ("&mes&"),"

 

[*]'** repare na mudanca das duas linhas acima **'

 

[*]SQL = SQL & " WHERE login = '"&login&"'"

 

[*]

 

acho que nao precisa de mais de um parametro com forma de indentificacao dos registros..

por isso estou colocando apenas como condicao ( WHERE ) o login...sera que ano tem como você fazer isso pelo ID do registro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

capitei a instrução, realmente para numeros foram usadas somente aspas duplas e na clausula where você usou somete login, show de bola corretissimo, caso não fosse a minha deficiencia em fazer a inclusao de id em duas tabelas diferentes. no caso, primary key e foreng key, eu não consigo incluir dados em duas tabelas ao mesmo tempo, não sei se tenho que fazer o relacionamento no access ou se tenho que usar inner join na string, só sei que não consigo fazer, tipo, eu tentei fazer isso mas foi usando o campo id como auto numerico, deu pau, aí eu decidi usar duas tabelas e usar o campo login como base de ligação, mas tem esse porém, pq na cláulusa where sempre tem que ficar um testamento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe, mas só vou poder responder se funcionou amanha, pq não estou diante dos códigos, mas amanha eu vou postar com certeza valew mesmo pela ajuda , com quase certeza vai resolver sim, valew mesmo pela dica manow, vou tentar resolver mais tarde.sobre a dúvida do relacionamento, você pode me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas passo o pouco de conhecimento que sei!!! :P

 

coloque o seu codigo ae para ficar como forma de consulta para outros user´s...

 

no mais...estamos ae http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

****

cara quanto ao relacionamento entre as tables...explique melhor... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

vamos ver o que eu posso fazer, porque de relacionamento nao sou 100%

Compartilhar este post


Link para o post
Compartilhar em outros sites

BEM, EM RELAÇÃO AO RELACIONAMENTO, EU NUNCA APRENDI A RELACIONAR DADOS EM TABELAS.TIPO GRAVAR O MESMO ID EM DUAS TABELAS AO MESMO TEMPO, NEM SEI SE É ASSIM QUE FAZ, PELO O Q O MARIO POSTOU NO OUTRO POST, FOI O SEGUINTE:CADASTRA PRIMEIRO EM UMA TABELADEPOIS RESGATO O ID E CADASTRO NA OUTRA.FOI ISSO.AGORA EU FIQUEI SEM ENTENDER PRA SERVER AQUELA AREA DE RELACIONAMENTO INTERNO DO ACCESS, SQL SERVER. PRA QUE Q SERVE AQUELAS PARADAS DE RELACIONAMENTOS, SE É FEITO TUDO NA MÃO!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pense comigo.

 

Imagine você em uma VideoLocadora...onde a mesma tem um cadastro de CLIENTES, FILMES e controle de LOCACAO

com isso temos as seguintes estruturas.

 

TABELA CLIENTES

ID_CLIENTE ( Codigo da tabela CLIENTES ) AUTO NUMERACAO

NOME_CLIENTE ( Campo que tera o NOME DO CLIENTE ) TEXT(255)

ENDERECO_CLIENTE ( Campo que tera o ENDERECO DO CLIENTE ) MEMO

TELEFONE_CLIENTE ( Campo que tera o TELEFONE DO CLIENTE ) TEXT(255)

 

TABELA FILMES

ID_FILME ( Codigo da tabela FILMES ) AUTO NUMERACAO

DESCRICAO_FILME ( Campo que tera o NOME DO FILME ) TEXT(255)

CATEGORIA_FILME ( Campo que tera a CATEGORIA DO FILME, Ex: Terror, Romance, Aventura ) TEXT(255)

ANO_LANCAMENTO_FILME ( Campo que tera o ANO DE LANCAMENTO DO FILME ) (Numero)

 

TABELA LOCACAO

ID_LOCACAO ( Codigo da Tabela LOCACAO ) AUTO NUMERACAO

ID_FILMES ( Campo numerico que tera o codigo identificador do FILME locado ) Numero

ID_CLIENTE ( Campo numerico que tera o codigo identificador do CLIENTE que alugou o FILME ) Numero

DATA_SAIDA ( Campo que tera a DATA DE SAIDA do FILME ) DATA/HORA

DATA_ENTRADA ( Campo que tera a DATA DE ENTRADA (devolucao) do FILME ) DATA/HORA

 

***Lembrando que essa e uma estutura simples, apenas tem efeito para verificacao de RELACIONAMENTO DE DADOS

 

Agora, onde esta o relacionamento?

 

Repare que na tabela CLIENTES temos um linha preta que vai para a tabela LOCACAO..o que seria isso?

Nada mais e do que o proprio relacionamento, onde estamos dizendo para o "sistema" de dados o seguinte

"Apenas cadastre na tabela LOCACAO o que estiver na tabela CLIENTES"

 

Generalizando

Cadastrando para exemplo.

 

:::::::::::::::::::::::::

::TABELA CLIENTES::

:::::::::::::::::::::::::

ID_CLIENTE = 01

NOME_CLIENTE =

ENDERECO_CLIENTE = RUA TAL

TELEFONE_CLIENTE = 0012245587

 

 

** Apos ter efetuado esse cadastro, na tabela LOCACAO, você podera fazer o seguinte

 

:::::::::::::::::::::::::

::TABELA LOCACAO ::

:::::::::::::::::::::::::

ID_LOCACAO = 01

ID_FILME = ????

 

"Nao pode cadastrar nenhum pois, ainda você nao cadastrou nenhum FILME, e com isso, nao tera nenhuma referencia de codigo aos dados de cadastro.

Por exemplo se você cadastra aqui nessa tabela o codigo em ID_FILME = 10 ele ira na tabela FILMES procuras as referencias que estao de acordo com o ID_FILME = 10

"

ID_CLIENTE = 01

 

"Já aqui e totalmente diferente, pois ao digitar 01 ele ira na tabela CLIENTES verificar se realmente exiti algum dados referente ao tal ID_CLIENTE...e como nos cadastramos acima...ele funcionara..!!!"

 

DATA_SAIDA = 26/07/2004

DATA_ENTRADA = 27/07/2004]

 

cara..no mais de uma olhada ae no que escreve e se tiver alguma duvida ainda e so falar...beleza ;)

 

 

Veja imagem do relacionamento

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

show, compriendo, mas não entendo, pra que serve a representação gráfica, se os dados são inseridos nas tabelas via instrução SQL?o que eu entendi é o seguinte, criamos uma tabela cliente, uma tabela filmes, uma tabela locação, certo? depois vamos cadastrar dados na tabela locação, referencias para chamar os dados das outras tabelas, através de seus ids. ótimo.tá pronto o relacionamento? ou preciso fazer aquela parada no access que você fez e colocou a imagem, pra poder funcionar meu relacionamento?

Compartilhar este post


Link para o post
Compartilhar em outros sites

AGORA EU FIQUEI SEM ENTENDER PRA SERVER AQUELA AREA DE RELACIONAMENTO INTERNO DO ACCESS, SQL SERVER. PRA QUE Q SERVE AQUELAS PARADAS DE RELACIONAMENTOS, SE É FEITO TUDO NA MÃO!

aquilo serve para quando tiver erro de programaçaõ o banco não deixe seus dados ficarem inconsistentes entao ele da erro...

 

mas a parte de relacionamento na programacaõ eh inevitavel...

Compartilhar este post


Link para o post
Compartilhar em outros sites

saquei, aquela parada serve pra dar erro caso não funcione direito nos códigos, beleza. agora tive entendimento. mas agora falta na prática, quando eu for fazer deve vir outras duvidas, aí eu postarei.

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

saquei, aquela parada serve pra dar erro caso não funcione direito nos códigos, beleza. agora tive entendimento. mas agora falta na prática, quando eu for fazer deve vir outras duvidas, aí eu postarei.

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif grato!

ok entao precisando pode postar no forum

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.