kuroi
Membros-
Total de itens
7.184 -
Registro em
-
Última visita
Tudo que kuroi postou
-
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]
-
-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
-
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"
-
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.
-
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
-
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.
-
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.
-
muito estranho isso ai. se quiser mandar o projeto em rafaelsposito[a]gmail.com eu tento ver se descubro.
-
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.
-
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.
-
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.
-
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??
-
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.
-
é, esse é um pau do hierarchical flex grid. de uma olhada aqui: http://support.microsoft.com/kb/194653/pt-br
-
(Resolvido) Meus Documentos Ordenado Como Cd
pergunta respondeu ao kuroi de kuroi em Microsoft Windows
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. -
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
-
veja se ajuda: http://support.microsoft.com/?id=821268
-
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.
-
tenta assim: Select IIf(InStr(email, "/") - 1 > 0, Left(email, InStr(email, "/") - 1), email) As PrimeiroEmail From Tabela
-
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)
-
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
-
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.
-
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
-
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??