Ir para conteúdo
Fórum Script Brasil

kuroi

Membros
  • Total de itens

    7.184
  • Registro em

  • Última visita

Tudo que kuroi postou

  1. cópia de um post que fiz em ASP a um tempo atras. resolvi postar aqui pra facilitar o acesso. Nunca vi isso em escola, apostila nada, então essa explicacao pode não estar 100% correta: Existem dois tipo de JOIN, o INNER JOIN e o OUTER JOIN. o OUTER JOIN pode ser de tres tipos: LEFT OUTER JOIN, RIGHT OUTER JOIN ou FULL OUTER JOIN. Ou, pra simplificar: LEFT JOIN, RIGHT JOIN ou FULL JOIN. Pra explicar fica mais facil com um exemplo. Faz de conta que eu tenho essas duas tabelas: O INNER JOIN seleciona apenas os registros em comum entre AS DUAS TABELAS. Exemplo: Select * from X INNER JOIN Y ON X.Codigo = Y.Codigo Vai voltar: X.Codigo Nome Y.Codigo Descricao ------------------------------------------ 1 kuroi 1 a[/code] Agora, o LEFT JOIN seleciona todos registro que estiverem na tabela da esquerda do JOIN, não importa se existem na segunda tabela ou não. Exemplo: [code]Select * from X LEFT JOIN Y ON X.Codigo = Y.Codigo Vai voltar: X.Codigo Nome Y.Codigo Descricao ------------------------------------------ 1 kuroi 1 a 2 dackale - NULL - - NULL - 3 xxxx - NULL - - NULL -[/code] Onde - NULL - signfica valor nulo. Agora, o RIGHT JOIN faz o contrário, ele seleciona todos os registros da tabela da direita: [code]Select * from X RIGHT JOIN Y ON X.Codigo = Y.Codigo Vai voltar: X.Codigo Nome Y.Codigo Descricao ------------------------------------------ 1 kuroi 1 a - NULL - - NULL - 4 b - NULL - - NULL - 5 C[/code] Note que [code]Select X.Codigo, Nome, Y.Codigo, Descricao from X LEFT JOIN Y ON X.Codigo = Y.Codigo é a mesma coisa que Select X.Codigo, Nome, Y.Codigo, Descricao from Y RIGHT JOIN X ON X.Codigo = Y.Codigo O FULL JOIN seleciona todos os registros de todas as tabelas. Atencao pra quem esta utilizando outro banco que não o SQL, sei que o FULL JOIN não funciona em Access e tb não testei em outros como MySQL, Oracle, etc. Minha unica certeza é q funciona no SQL Server. Select * from X FULL JOIN Y ON X.Codigo = Y.Codigo vai voltar: X.Codigo Nome Y.Codigo Descricao ------------------------------------------ 1 kuroi 1 a 2 dackale - NULL - - NULL - 3 xxxx - NULL - - NULL - - NULL - - NULL - 4 b - NULL - - NULL - 5 c[/code] EDITADO: opa valeu, andreia. não conhecia o CROSS JOIN antes, mas to editando o tópico pra por a explicacao aqui. o CROSS JOIN cruza todos os registros da primeira tabela com todos os registros da segunda. [code]Select * from X CROSS JOIN Y é o mesmo q Select * from X, Y e vai voltar: X.Codigo Nome Y.Codigo Descricao ------------------------------------------ 1 kuroi 1 a 2 dackale 1 a 3 xxxx 1 a 1 kuroi 4 b 2 dackale 4 b 3 xxxx 4 b 1 kuroi 5 c 2 dackale 5 c 3 xxxx 5 c[/code]
  2. kuroi

    Porcentagem No Sql

    -10% do q?? dele mesmo?? se for, tenta assim (você usa banco sql, não??): Select (Case VLRepass When 0 Then VLPago - (VLPago * 10 / 100) Else VLPago End) As VLPago From NOME_DA_SUA_TABELA
  3. acho q seria assim: SQL = "SELECT * FROM cadastro where user = " & usuario & " ORDER BY id DESC" se o campo user for numerico. se ele for texto, acho q seria assim: SQL = "SELECT * FROM cadastro where user = '" & usuario & "' ORDER BY id DESC"
  4. kuroi

    Duvida Com For Next

    acho q você entendeu errado pra q serve a funcao array(). o q você espera q aconteca?? de uma olhada aqui pra ver o q ela faz: http://www.supertrafego.com/asp_Array.asp como uma variavel pode ser 4 coisas ao mesmo tempo?? ou ela é "<", ou ela é "B", ou ela é "R", ou ela é ">" ou ela é qualquer outra coisa. mas ela nunca vai conseguir ser "B" e "R" ao mesmo tempo.
  5. kuroi

    Ado - Dúvida

    achei aqui, o problema ta na linha TABELA.Open "SELECT * FROM TAluno WHERE Tipo LIKE '%" & PESQ & "%'", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB.mdb;Persist Security Info=False", adOpenStatic, adLockOptimistic acho q é porque você não ta com uma conexao ativa. olha q ta passando a conexao por string, e não o objeto de conexao q você abriu. acredito q o RecordSet se conecta apenas pra fazer o Select mas não mantem a conexao depois de executado, por isso o grid, acredito q não aceita a listagem. em vez de passar a string, passa a conexao, q alias q abre mas não utiliza. tipo assim: TABELA.Open "SELECT * FROM TAluno WHERE Tipo LIKE '%" & PESQ & "%'", BANCO, adOpenStatic, adLockOptimistic
  6. o seu problema é mostrar a data no grid no formato certo, não?? então, nesse caso, isso vem do select. o where não influencia no formato (ou seja o DtPicker não tem nd a ver). você teria q fazer tipo assim: StringSQL = "SELECT NOME_DO_CAMPO_DA_SUA_TABELA_QUE_VC_QUER_POR_NO_SELECT, NOME_DO_OUTRO_CAMPO_DA_QUE_VC_QUER_POR_NO_SELECT, etc..., Format(Atendimentos.Atend_Data, 'DD/MM/YY') As Atend_Data FROM Atendimentos " StringSQL = StringSQL & "WHERE Atend_Data Between #" & Format(DTPicker1.Value, "YYYY-MM-DD") & "# And #" & Format(DTPicker2.Value, "YYYY-MM-DD") & "#"[/code] entendeu?? teria q por o Format na data direto no Select.
  7. você pode apagar por codigo com a funcao Kill(). tipo: Kill "C:\Caminho\Arquivo.ext" e pra checar se os arquivos existem ou não, usa a funcao Dir(). ou pode fazer td com FileSystemObject tb. isso ajuda você?? tipo, não entendi direito o q são esses arquivos travados ainda. o relatorio, ao ser aberto, utiliza esse arquivo?? porque se o arquivo ficar protegido enqto o relatorio estiver em execucao, você não vai conseguir apagar.
  8. kuroi

    Ado - Dúvida

    muito estranho isso ai. se quiser mandar o projeto em rafaelsposito[a]gmail.com eu tento ver se descubro.
  9. não tem uma forma de saber, pelo programa, qtos relatorios estao abertos?? não entendi direito o q são esses arquivos q ficam no servidor, mas não tem como saber qtos deles existem e então abrir uma janela para o usuario esperar?? ai você fica num loop esperando liberar o espaco e ai ele abriria o relatorio. ou o esquema seria você, de alguma forma, gravar no servidor uma fila de requisicoes dos usuarios pra abrir o relatorio. ou num arquivo, ou num banco de dados. e ai a medida q os usuarios fechassem os relatorios, você tirava ele da fila. e você só permitiria a abertura do relatrorio pra quem estivesse entre os 18 primeiros de fila. para os demais você abriria uma janelinha de espera.
  10. kuroi

    Treeview

    veja esses links: http://www.macoratti.net/treeview.htm http://www.macoratti.net/treview2.htm e se precisar, procura em http://www.macoratti.net/indvb.htm q tem varios otros tutoriais.
  11. você pode selecionar assim: Select Format(Tabela.data, 'DD/MM/YY') As data From Tabela só q ai você não poderia mais fazer Select *, você teria q por campo por campo no select.
  12. kuroi

    Ado - Dúvida

    cara, só precisa dessa linha mesmo e mais nd. pelo q sei o DataGrid não tem esse bug não e não tem porque isso não funcionar pra você. as unicas coisas q acho possiveis de estarem acontecendo é q o seu recordset esta mesmo vazio, ou o seu programa não esta passando pela linha Set DataGrid1.Datasourse = rs por algum motivo, de uma verificada. EDITADO: não apareceu nem os nomes dos campos na primeira linha??
  13. primero de tudo: testa em otra impressora. talvez esse problema seja somente com a impressora q você ta testando agora. outras coisas q você pode tentar ver tb é configuracao de margem, formato do papel (A4, Oficio, etc.), etc. acho q dificilmente isso seja um pau do Crystal Reports ou do componente q você possa tar utilizando. e muito provavel q seja pau de configuracao de impressora, ou da propria maquina pra falar a verdade. la no trampo tinha uma impressora q varias vezes imprimia um relatorio todo zuado, apesar de q mtas vezes tb imprimia normal. mas era somente essa impressora com esse problema e sem eu ter alterado uma unica coisa no crystal, as outras impressoras nunca tiveram qualquer problema do tipo até hj.
  14. kuroi

    Ado - Dúvida

    é, esse é um pau do hierarchical flex grid. de uma olhada aqui: http://support.microsoft.com/kb/194653/pt-br
  15. opa. não era bem isso, mas foi seguindo sua ideia q achei aqui. na verdade o problema era q entrando em menu Exibir -> Organizar ícones por, a opcao Mostrar em grupos estava checada. então ta resolvido aqui, valeu.
  16. eu tava reparando agora, a minha pasta Meus Documentos aqui no XP ta sendo ordenada na mesma forma q o conteudo do CD. tipo, o Explorer faz aquelas divisoesinhas entre os arquivos. exemplo, se eu ordeno os arquivos por tamanho, ele separa por Grande, Pequeno, Médio e etc. Se eu ordeno por data, ele separa, Ontem, Hoje, Ano Passado e etc. eu só reparei esses tempos, mas o Meus Documentos sempre foi assim?? antes, pelo padrão do windows, acho q ele era ordenado normalmente... ou não?? de qualquer forma, tem como tirar isso?? tipo fazer com q ele seja ordenado normalmente?? e alias, tem como fazer com q o conteudo dos CDs e de qualquer outra pasta, não importa qual seja, sejam ordenados normalmente tb?? porque esse negocio dele ficar dividindo é muito ruim
  17. kuroi

    Erro No Iis - 3 Camadas

    veja se ajuda: http://support.microsoft.com/?id=821268
  18. kuroi

    Vba - Excel

    hum, não entendi direito o seu problema, mas nesse tópico do macedo aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=103752 tem varios exemplos de mascaras em TextBox. ai você pode adaptar no seu codigo seguindo os exemplos dele.
  19. kuroi

    Duvidas De Consulta

    tenta assim: Select IIf(InStr(email, "/") - 1 > 0, Left(email, InStr(email, "/") - 1), email) As PrimeiroEmail From Tabela
  20. no text box você tem a data toda ou só o mes?? se for a data toda, faca assim: datainicial = DateSerial(Year(CDate(Text1.Text)), Month(CDate(Text1.Text)), 1)
  21. kuroi

    Dúvida

    isso foi comentado bastante nesse tópico aqui: http://scriptbrasil.com.br/forum/index.php?showtopic=107949 e aqui tem um bom tutorial: http://www.macoratti.net/ado.htm qualquer duvida pergunta
  22. mano... "insert where", isso não existe não hahah aiaiai isso ta ficando complicado. tipo, seu codigo não ta me entrando na cabeca como você imaginou. olha, esquece os campos hidden e os arrays pros campos, você não precisaria disso não, você só precisa ter o id do registro. ai você tendo todos os ids você faz um select e ai um insert. tipo assim: For i=0 to ubound(array_id) sql = "Select * From NOME_DA_SUA_TABELA Where NOME_DO_SEU_CAMPO_ID = " & Trim(array_id(i)) Set objRS = objConn.Execute(sql) sql = "Insert Into NOME_DA_TABELA_ONDE_VC_QUER_INSERIR (NOME_DO_CAMPO_ONDE_VC_VAI_GRAVAR_A_DATA, NOME_DO_CAMPO_ONDE_VC_VAI_GRAVAR_O_HISTORICO, NOME_DO_CAMPO_ONDE_VC_VAI_GRAVAR_O_TIPO, NOME_DO_CAMPO_ONDE_VC_VAI_GRAVAR_AS_SAIDAS) Values ('"& objRS("data") &"','"& objRS("historico") &"','"& objRS("tipo") &"','"& objRS("saidas") &"')" objConn.Execute(sql) sql_id = sql_id & "a_pagar.codigo = " & Trim(array_id(i)) & " OR " 'campo texto, então" & Trim(array_id(i)) & " OR " 'caso numerico '" & Trim(array_id(i)) & "' OR " Next[/code] seria simplesmente isso. ai é so você substituir pelos nomes corretos das suas tabelas/campos/objetos/variaveis e pronto. veja ai se você consegue.
  23. kuroi

    Biometria

    opa parece q os caras da empresa acabaram já comprando um produto não sei de que fabricante q vao instalar acho q na sexta. mas eu nem sei os detalhes de como funciona isso ai, quero ver agora se vai dar pra integrar no nosso sistema. os caras compraram sem ver isso e depois vai sobrar pra mim. os caras não tão nem ai, só querem q eu faca funcionar de qualquer jeito, é foda. mas valeu pela ajuda ae
  24. como assim "ele gera no sistema direto do Crystal"?? você quer dizer no editor do proprio Crystal?? e como ele faz isso?? é automatico?? não fica ninguém gerenciando?? ou é por um programa?? porque você não consegue impedir ele de abrir mais de 18 por vez??
×
×
  • Criar Novo...