HexecuteSqlQuery
// If it's a new record
IF cadastro_geral..NewRecord = True THEN
nProximo_codigo is numeric
nGnNumeroconexao is int = SQLConnect("localhost","postgres","matos","matos","PostgreSQL")
ds is Data Source
sQuery is string = [
SELECT Max(id_cadastro_geral) FROM cadastro_geral
]
SQLExec(sQuery,ds)
WHILE SQLFetch(ds) = 0
nProximo_codigo=SQLGetCol(ds,1)
END
nProximo_// Read the information entered
ScreenToFile()
codigo++
cadastro_geral.id_cadastro_geral=nProximo_codigo
HAdd(cadastro_geral)
ELSE
// Modify it
HModify(cadastro_geral)
END
// Return value of the window
MyWindow..ReturnedValue = True
terça-feira, 7 de outubro de 2014
segunda-feira, 6 de outubro de 2014
Tabela - Form - Alterar ou Excluir
Tabela - Form - Alterar ou Excluir
Caso eu fazer uma tabela por programacao, ou por query
na hora de modificar ou excluir o cadastro tenho de fazer o seguinte:
=================================================================
IF TableSelect(TABLE_cliente)=-1 THEN RETURN
HReset(cliente)
HReadSeekFirst(cliente,id_cliente,TABLE_cliente.COL_IdCliente)
IF HFound(cliente) THEN
// Open the form of cliente file in modification mode
Open(WIN_Form_cliente)
// Refresh the table
TableDisplay(TABLE_cliente,taCurrentSelection)
END
=================================================================
HReset(cliente)
HReadSeekFirst(cliente,id_cliente,WIN_Table_cliente.COL_IdCliente)
IF HFound(cliente) THEN
END
Caso eu fazer uma tabela por programacao, ou por query
na hora de modificar ou excluir o cadastro tenho de fazer o seguinte:
=================================================================
IF TableSelect(TABLE_cliente)=-1 THEN RETURN
HReset(cliente)
HReadSeekFirst(cliente,id_cliente,TABLE_cliente.COL_IdCliente)
IF HFound(cliente) THEN
// Open the form of cliente file in modification mode
Open(WIN_Form_cliente)
// Refresh the table
TableDisplay(TABLE_cliente,taCurrentSelection)
END
=================================================================
HReset(cliente)
HReadSeekFirst(cliente,id_cliente,WIN_Table_cliente.COL_IdCliente)
IF HFound(cliente) THEN
END
Tabela Manual
Tabela Manual
c is Control
IF ControlExist("TABELA") THEN ControlDelete("TABELA")
c <- ControlCreate("TABELA",typTable,EDT_A,EDT_B,MyWindow..Width-EDT_C,MyWindow..Height-EDT_D)
c..Anchor = anchorHeight + anchorWidth
c..Opacity=95
//MOSTRA OS DADOS DO ARQUIVO EM TABELA
//BuildBrowsingTable("TABELA",cliente,taFillTable+taItemCaption)
QRY_RECEBER_VENCIDAS.Param_id_empresa=1//gnEmpresaCodigo
QRY_RECEBER_VENCIDAS.Param_data_hoje=dAta_hoje
HExecuteQuery(QRY_RECEBER_VENCIDAS)
BuildBrowsingTable("TABELA",QRY_RECEBER_VENCIDAS,taFillTable+taItemCaption)
cySoma is currency = 0
TableSort("TABELA","-_COL2")
{"TABELA"}..TotalsEnabled = True
FOR EACH ROW OF {"TABELA"}
cySoma += {"_COL3"}..Value
END
TableAddLine(c,"Total->","",cySoma)
c is Control
IF ControlExist("TABELA") THEN ControlDelete("TABELA")
c <- ControlCreate("TABELA",typTable,EDT_A,EDT_B,MyWindow..Width-EDT_C,MyWindow..Height-EDT_D)
c..Anchor = anchorHeight + anchorWidth
c..Opacity=95
//MOSTRA OS DADOS DO ARQUIVO EM TABELA
//BuildBrowsingTable("TABELA",cliente,taFillTable+taItemCaption)
QRY_RECEBER_VENCIDAS.Param_id_empresa=1//gnEmpresaCodigo
QRY_RECEBER_VENCIDAS.Param_data_hoje=dAta_hoje
HExecuteQuery(QRY_RECEBER_VENCIDAS)
BuildBrowsingTable("TABELA",QRY_RECEBER_VENCIDAS,taFillTable+taItemCaption)
cySoma is currency = 0
TableSort("TABELA","-_COL2")
{"TABELA"}..TotalsEnabled = True
FOR EACH ROW OF {"TABELA"}
cySoma += {"_COL3"}..Value
END
TableAddLine(c,"Total->","",cySoma)
sábado, 4 de outubro de 2014
Exporta Txt/Excel/Word/Xml
Exporta Txt/Excel/Word/Xml
C:\WinDev 19\Examples\Training\WD Export table\Exe
C:\WinDev 19\Examples\Training\WD Export table\Exe
Compilacao Dinamica - Fazer comandos fora do compilador
Compilacao Dinamica - Fazer comandos fora do compilador
sexta-feira, 3 de outubro de 2014
Tabela Query Consulta Usando duas consultas e uma declaracao case
Tabela Query Consulta Usando duas consultas e uma declaracao case
TableToArray - Funcao para copiar colunas da tabela a matriz estruturada
TableToArray - Funcao para copiar colunas da tabela a matriz estruturada
http://www.thenextage.com/wordpress/uncle-petes-corner-tabletoarray-function-to-copy-table-columns-to-structured-array/#more-2101
http://www.thenextage.com/wordpress/uncle-petes-corner-tabletoarray-function-to-copy-table-columns-to-structured-array/#more-2101
Usando Xml para Armazenar em opcoes de bancos
Usando Xml para Armazenar em opcoes de bancos
http://www.thenextage.com/wordpress/uncle-petes-corner-using-xml-to-store-options-in-database-instead-of-individual-field
s/#more-2122
http://www.thenextage.com/wordpress/uncle-petes-corner-using-xml-to-store-options-in-database-instead-of-individual-field
s/#more-2122
Select Windev filtrando por empresa - HExecuteSQLQuery
Select Windev filtrando por empresa - HExecuteSQLQuery
ds is Data Source
IF EDT_Codigo_Empresa>0 THEN
HExecuteSQLQuery(ds,"delete from bancos where id_empresa="+EDT_Codigo_Empresa)
END
ds is Data Source
IF EDT_Codigo_Empresa>0 THEN
HExecuteSQLQuery(ds,"delete from bancos where id_empresa="+EDT_Codigo_Empresa)
END
quinta-feira, 2 de outubro de 2014
Diretorio - Criar - fMakeDir("C:\TMP") //CRIA DIRETORIO
Diretorio - Criar
fMakeDir("C:\TMP") //CRIA DIRETORIO
fMakeDir("C:\TMP") //CRIA DIRETORIO
quarta-feira, 1 de outubro de 2014
CLONAR TABELA - FAZER RESUM VARIOS ANOS
CLONAR TABELA - FAZER RESUM VARIOS ANOS
CRIAR UMA WINDOW VAZIA
COM NOME DE
CRIAR UMA QUERY QUE VAI PREENCHER O LIST BOX DOS ANOS
( sql code) = QRY_CLONE_PEDIDO
== MANUAL PGADMIN =
SELECT DISTINCT TO_CHAR(DATA_EMISSAO,'YYYY') AS ANO FROM PEDIDO WHERE ID_EMPRESA=3
SELECT DISTINCT
LEFT(duplicata_pagar.data_vencimento,4) AS ano
FROM duplicata_pagar
WHERE duplicata_pagar.id_empresa={PARAM_ID_EMPRESA}
ORDER BY ano DESC
CRIAR UMA LIST BOX ( LIST_CLONE_ANO_PEDIDO )
ENTRAR EM CREATION
ESCOLHA LIST BOX
ESCOLHA BY PROGRAMMING
ESCOLHA MULTI-SELECTION
NOME DO LIST BOX
LIST BOX
CO O BOTAO DIREITO CODE
QRY_CLONE_ORDEM_COMPRA.PARAM_ID_EMPRESA=gnEmpresaCodigo
COM O BOTAO DIREITO ENTRE EM DESCRIPTION
VA EM CONTENT
ESCOLHA FILE/QUERY
ESCOLHA A QUERY QUE FOI CRIADA POR ANO
JA PODE TESTAR
CRIAR UM BOTAO Gerar Informações
CRIAR UMA TABELA
CREATION
TABLE
TABLE VERTICAL
CRIE COM DUAS COLUNAS
UMA MES TEXTO
UMA ANO CURRENCY
NA TABELA EXPANDIR ANO
CRIAR UMA QUERY_PARA CALCULAR VALORES
QRY_CLONE_DADOS_ANO_DUP_REC
COLOQUE ANO E MES
PARA ANO E MES USE CALCULATED ITEM
ANO = LEFT(DUPLICATA_RECEBER.DATA_VENCIMENTO,4)
MES = SUBSTR(DUPLICATa_RECEBER.DATA_VENCIMENTO,5,2)
FACA SUM VALOR TITULO
ANO E MES EM ORDEM
ANO, FILTRO
IS IN THE LIST (DENTRO DA LISTA)
SUPPPLIED BY THE PARAMETER (FORNECIDO POR PARAMETRO)
COMANDOS QUE IRA NO BOTAO DE GERAR INFORMACOES
===================================
IF ListSelectCount(LIST_CLONE_ANO_ORDEM_COMPRA) = 0 THEN // ELE VAI VERIRICAR SE FOI SELECIONADO ANO ANO // SE NAO VAI RETORNARIF ListSelectCount(LIST_CLONE_ANO_DUP_PAG) = 0 THEN
Error("Selecione um ou mais Anos")
RETURN
END
TableDeleteAll(TABLE_CLONE_ORDEM_COMPRA) // ELIMINE OS DADOS CONTIDOS NA TABELA
TABLE_CLONE_ORDEM_COMPRA.COL_ano..Visible=True // TORNAR A COLUNA ANO VISIVEL
sFiltroano is string
FOR i = TableCount(TABLE_CLONE_ORDEM_COMPRA,toColumn) TO 3 STEP -1 // eliminar as colunas criadas anteriormente
ControlDelete(TableEnumColumn(TABLE_CLONE_ORDEM_COMPRA,i))
END
FOR ALL SELECTED ROW OF LIST_CLONE_ANO_ORDEM_COMPRA //criar as colunas conforme escolhida pelo usuario
ControlClone(TABLE_CLONE_ORDEM_COMPRA.COL_ano,"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue)
{"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue,indControl}..Caption = LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue
sFiltroano+=[";"]+LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue // SEPARADOR PONTO E VIRGULA ;
END
TABLE_CLONE_ORDEM_COMPRA..Visible=True //tornar visivel tabela
TABLE_CLONE_ORDEM_COMPRA.COL_ano..Visible=False //nao mostrar ano tabela
FOR i=1 TO 12 //adciona uma linha por mes
TableAddLine(TABLE_CLONE_ORDEM_COMPRA,Upper(MonthNumberInAlpha(i)))
END
QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.Param_id_empresa=gnEmpresaCodigo
QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.Param_ano = sFiltroano //EXECUTA A QUERY PARA APRESENTAR OS DADOS
HExecuteQuery(QRY_CLONE_DADOS_ANO_ORDEM_COMPRA)
FOR EACH QRY_CLONE_DADOS_ANO_ORDEM_COMPRA
{"Ano"+ QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.ano,indControl}[QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.mes] = QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.sum_valor_total
END
nAconragem is int = Round(1000/ListSelectCount(LIST_CLONE_ANO_ORDEM_COMPRA)) //O Tamanho das colunas é adaptado automaticamente pela definiçao de ancoragem das colunas
TableAdjust(TABLE_CLONE_ORDEM_COMPRA)
FOR ALL SELECTED ROW OF LIST_CLONE_ANO_ORDEM_COMPRA
{"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue,indControl}//..AnchorRateRight = nAconragem
END
====================================

CRIAR UMA WINDOW VAZIA
COM NOME DE
CRIAR UMA QUERY QUE VAI PREENCHER O LIST BOX DOS ANOS
( sql code) = QRY_CLONE_PEDIDO
== MANUAL PGADMIN =
SELECT DISTINCT TO_CHAR(DATA_EMISSAO,'YYYY') AS ANO FROM PEDIDO WHERE ID_EMPRESA=3
SELECT DISTINCT
LEFT(duplicata_pagar.data_vencimento,4) AS ano
FROM duplicata_pagar
WHERE duplicata_pagar.id_empresa={PARAM_ID_EMPRESA}
ORDER BY ano DESC
CRIAR UMA LIST BOX ( LIST_CLONE_ANO_PEDIDO )
ENTRAR EM CREATION
ESCOLHA LIST BOX
ESCOLHA BY PROGRAMMING
ESCOLHA MULTI-SELECTION
NOME DO LIST BOX
LIST BOX
CO O BOTAO DIREITO CODE
QRY_CLONE_ORDEM_COMPRA.PARAM_ID_EMPRESA=gnEmpresaCodigo
COM O BOTAO DIREITO ENTRE EM DESCRIPTION
VA EM CONTENT
ESCOLHA FILE/QUERY
ESCOLHA A QUERY QUE FOI CRIADA POR ANO
JA PODE TESTAR
CRIAR UM BOTAO Gerar Informações
CRIAR UMA TABELA
CREATION
TABLE
TABLE VERTICAL
CRIE COM DUAS COLUNAS
UMA MES TEXTO
UMA ANO CURRENCY
NA TABELA EXPANDIR ANO
CRIAR UMA QUERY_PARA CALCULAR VALORES
QRY_CLONE_DADOS_ANO_DUP_REC
COLOQUE ANO E MES
PARA ANO E MES USE CALCULATED ITEM
ANO = LEFT(DUPLICATA_RECEBER.DATA_VENCIMENTO,4)
MES = SUBSTR(DUPLICATa_RECEBER.DATA_VENCIMENTO,5,2)
FACA SUM VALOR TITULO
ANO E MES EM ORDEM
ANO, FILTRO
IS IN THE LIST (DENTRO DA LISTA)
SUPPPLIED BY THE PARAMETER (FORNECIDO POR PARAMETRO)
COMANDOS QUE IRA NO BOTAO DE GERAR INFORMACOES
===================================
IF ListSelectCount(LIST_CLONE_ANO_ORDEM_COMPRA) = 0 THEN // ELE VAI VERIRICAR SE FOI SELECIONADO ANO ANO // SE NAO VAI RETORNARIF ListSelectCount(LIST_CLONE_ANO_DUP_PAG) = 0 THEN
Error("Selecione um ou mais Anos")
RETURN
END
TableDeleteAll(TABLE_CLONE_ORDEM_COMPRA) // ELIMINE OS DADOS CONTIDOS NA TABELA
TABLE_CLONE_ORDEM_COMPRA.COL_ano..Visible=True // TORNAR A COLUNA ANO VISIVEL
sFiltroano is string
FOR i = TableCount(TABLE_CLONE_ORDEM_COMPRA,toColumn) TO 3 STEP -1 // eliminar as colunas criadas anteriormente
ControlDelete(TableEnumColumn(TABLE_CLONE_ORDEM_COMPRA,i))
END
FOR ALL SELECTED ROW OF LIST_CLONE_ANO_ORDEM_COMPRA //criar as colunas conforme escolhida pelo usuario
ControlClone(TABLE_CLONE_ORDEM_COMPRA.COL_ano,"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue)
{"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue,indControl}..Caption = LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue
sFiltroano+=[";"]+LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue // SEPARADOR PONTO E VIRGULA ;
END
TABLE_CLONE_ORDEM_COMPRA..Visible=True //tornar visivel tabela
TABLE_CLONE_ORDEM_COMPRA.COL_ano..Visible=False //nao mostrar ano tabela
FOR i=1 TO 12 //adciona uma linha por mes
TableAddLine(TABLE_CLONE_ORDEM_COMPRA,Upper(MonthNumberInAlpha(i)))
END
QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.Param_id_empresa=gnEmpresaCodigo
QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.Param_ano = sFiltroano //EXECUTA A QUERY PARA APRESENTAR OS DADOS
HExecuteQuery(QRY_CLONE_DADOS_ANO_ORDEM_COMPRA)
FOR EACH QRY_CLONE_DADOS_ANO_ORDEM_COMPRA
{"Ano"+ QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.ano,indControl}[QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.mes] = QRY_CLONE_DADOS_ANO_ORDEM_COMPRA.sum_valor_total
END
nAconragem is int = Round(1000/ListSelectCount(LIST_CLONE_ANO_ORDEM_COMPRA)) //O Tamanho das colunas é adaptado automaticamente pela definiçao de ancoragem das colunas
TableAdjust(TABLE_CLONE_ORDEM_COMPRA)
FOR ALL SELECTED ROW OF LIST_CLONE_ANO_ORDEM_COMPRA
{"Ano" + LIST_CLONE_ANO_ORDEM_COMPRA..DisplayedValue,indControl}//..AnchorRateRight = nAconragem
END
====================================
Assinar:
Postagens (Atom)
Teste

teste