Search the Community
Showing results for tags 'access'.
-
Bom dia. Necessitava de saber o seguinte: Tenho uma pasta chamada "Documentos" em c:\.meuprograma\minha pasta. Tenho pesquisado e só encontro código para verificação de ficheiros, mas o que eu pretendia era ao clicar num botão que me retornasse se a pasta está vazia ou não, independentemente do facto de ter ou não documentos dentro. Muito grarto a quem possa ajudar
-
Olá amigos; Eu terminei um projeto para distribuição e tenho uma dúvida, para a qual peço a vossa ajuda. Tenho instalada a versão 2019 do Office. Passos de segurança realizados: 1) Compilei o código VB da base de dados. 2) Desabilitei a tecla Shift por código num formulário escondido. Criei um atalho num formulário, de forma que não é percetível. Esse atalho leva ao formulário com dois botões. Um para habilitar e o outro para desabilitar o SHIFT. Está a funcionar muito bem. O utilizador entra no formulário de login, escolhendo o nome de utilizador e inserindo a palavra passe. Se tentar entrar com Shift, vai direto ao login. 3) Converti a base de Accdb para Accde. Desta forma o utilizador não tem acesso ao código, para o caso de se abrir a janela para debug. Agora eu queria dividir a base em back-end e front-end. Sei como o fazer, mas pergunto: É possível o utilizador continuar a entrar no login da front-end, escolhendo o nome e inserindo a palavra passe e encriptar só a back-end, para impedir o acesso? Sei que mesmo assim é possível entrar na bd, mas já ficaria com uma segurança aceitável. Um grande abraço; Joaquim
-
Boa tarde amigos: Antes demais, os meus parabéns pelo serviço que aqui prestam. Eu queria criar um relatório com dados de 4 tabelas: 1) Clientes Campo: NomeCliente 2) Vendas: Cabeçalho Campo: IDVenda Campo: DataVenda 2) Vendas: Detalhes Campo: TotalLinha 3) Pagamentos de Cliente Campo: IDPagamento Campo: DataPagamento Campo: ValorPago O objetivo era obter uma coluna com o total das vendas e outra coluna com o total dos pagamentos. Eu criava o campo com a diferença para apresentar o saldo do cliente. O problema que encontro é que não consigo relacionar a tabela de VendaDetalhes com a tabela PagamentosDoCliente. Através do formulário (Conta Corrente dos Clientes) que criei, consigo apresentar o total das vendas com um subformulário e o total dos pagamentos com outro subformulário. Depois criei um campo com a diferença que dá o saldo do cliente. No formulário das vendas, posso enviar um relatório de todas as vendas do cliente, escolhendo a data inicial e a data final. No formulário dos pagamentos, posso enviar um relatório de todos os pagamentos do cliente, escolhendo a data inicial e a data final. O que me falta, é enviar um relatório com o saldo do cliente, a partir o formulário de conta corrente de clientes. Eu criei o relatório, que está disponível no formulário de conta corrente de clientes. Criei um botão para enviar o relatório com o saldo. Escolhe-se o cliente e clica-se para abrir o relatório. O relatório contem os dados das vendas, dos pagamentos e tem um campo com a diferença, que dá o saldo do cliente. O problema é que os movimentos se repetem dando um valor superior e o saldo não está correto. As tabelas de vendas e vendasdetalhe, não teem uma relação com a tabela pagamentos de cliente. Penso que o problema estará aí. Podem ajudar-me a configurar este relatório? É o que me falta para eu começar a distribuir o meu sistema. Envio em anexo, o sistema com as tabelas, formulários, consultas e o relatório em questão. Link: https://drive.google.com/file/d/1S_ZD4nL2EDANikoWL7G9hcgrcbraUdUm/view?usp=share_link Link da apresentação do software no youtube. Agradeço a vossa ajuda. Obrigado Joaquim
-
Bom dia, Sou utilizador do PHC CS Advanced e pretendo importar registos de uma base de dados em Access para as "linhas" de um dossier interno. Já consegui ligar-me à tabela em Access e importar TODOS os registos existentes para o dossier interno. No entanto o que pretendo é importar apenas os registos que obedeçam a uma certa condição (ft_id = <valor>), sendo que este <valor> seria obtido do campo BO.OBRANO presente no formulário de dossiers internos Isto é possível de ser feito através do menu "Configurações de Ficheiros Externos"? A documentação da PHC escasseia bastante neste tema. Desde já obrigado,
-
Olá a todos, sou nova por estas andanças e percebo pouco disto, mas como gosto de desafios aqui estou 😊o meu chefe pediu me para fazer um gráfico, mas não consigo fazer um gráfico com as variáveis que ele pediu, ou pelo menos não tenho conhecimento para isso. Ele quer saber, a quantidade de produção de um determinado produto comparado com a quantidade vendida desse mesmo produto por cada semana do ano, tendo em atenção que temos muitos produtos. Como não consegui fazer um gráfico desses no Excel, ao pesquisar na net surgiu a ideia de tentar fazer no Access, então, tentei fazer e estou bloqueada, eu não sei se tenho estado a fazer bem ou se estou a complicar mas aqui vai: Criei uma tabela com toda a gama biológica que temos (produto), quantidade vendida em cada mês (venda), quantidade produzida em cada mês (produção), e o mês (período) correspondente, que coloquei em números (1=janeiro), e criei outra exactamente igual mas com produtos com o mesmo nome mas convencionais. A partir daí criei uma consulta união, e a partir daí quero criar um formulário com um gráfico de 2 colunas que me vai comparar produção e vendas, porque não consigo colocar os meses, eu queria colocar uma caixa de combinação em que eu pudesse selecionar o tipo de produto (biológico ou convencional) eu pus a ir buscar os dados á consulta união, mas preciso de ajuda para conseguir filtrar os produtos biológicos e convencionais na mesma coluna da consulta, porque a caixa de combinação baralha se toda e não me dá o que eu quero. Pode parecer um pouco confuso, mas se precisarem, eu posso tentar explicar melhor. Obrigado
-
Olá amigos; Antes de mais dou os parabéns aos criadores deste fórum e a todos os colaboradores. Eu fui comercial do software PHC e SAGE que é vendido em Portugal. Como não sei programar, estou tentando criar sistemas em Access. Eu criei um sistema de vendas e errei ao relacionar a tabela de vendas com a “tabela” de “vendas detalhe”. Ao impor integridade referencial, eu marquei: Propagação dos registos eliminados. Aqui está correto. Mas também marquei propagar a atualização dos campos selecionados. Aqui errado. O que acontece? Depois de fazer várias vendas de teste, atualizei o preço de alguns produtos. Depois, foram vendidos quando foram vendidos os produtos na consulta que tinha, os preços dos produtos vendidos foram atualizados. Dessa forma, sempre que atualizo o preço de um produto, como várias consultas feitas, o que não pode acontecer. Tentei resolver: Elimine todas as relações e chorei de novo. Resultado: Continua o erro. Crie novos campos de chave primária (ID), em todas as tabelas e elimine todos os registros. Executei uma ferramenta de reparo de uma base de dados. Crie novos formulários. Eliminei todas as consultas. Resultado: Continua a dar o mesmo erro. O que posso fazer, agora que os relacionamentos são corretos? Será que posso executar alguma rotina? Adicione a sua ajuda pois não sei o que fazer mais. Atenciosamente Joaquim Lima
-
Boa tarde, Sou relativamente novo no access e estou neste momento a criar um projecto pessoal. Tenho uma base de dados relacional com 5 tabelas. varios formularios para o preenchimento e adição de novos dados. Tenho também algumas queries já criadas. Para executar estas queries criei um formulário de pesquisa onde tenho uma combobox (dropdown list) que apos escolher o que quero clico num botão que executa a query, a query é executada recebendo como criterio o valor que eu escolhi nessa combobox. Até aqui tudo bem, os valores e a query são apresentados como datasheet. A questão vem agora, se criar um form para a apresentação dos resultados, apos clicar no botao para executar a query e antes de abrir o form com os resultados da query faz o pop up para introduzir o parametro para a query. então tenho de novamente de introduzir os valor para a query ser executada e aparecer os dados no form. Existe alguma forma de passar o valor da combobox de uma lado para o outro, ou existe alguma forma mais facil? Já agora, coloco outra questão, existe alguma forma de criar o acesso à base de dados tipo user interface (genero de app). Onde o utilizador comum só tem acesso aos formularios e vê tipo fullscreen mode? Caso a explicação tenha sido meio confusa sintam-se à vontade para questionar. Muito Obrigado.
-
Boa tarde, Estou a utilizar a função "DPesquisar", num relatório, mas meu código com vários critérios, não funciona. Alguem me consegue ajudar? Todos os campos são texto, excepto a Espessura que é número. =DPesquisar("[CodigoSistemaPainel]";"Correspondencia";"[Modelo]='" & [Modelo] & "' and [Vidro]='" & [Vidro] & "' and [Espacador] ='" & [Espacador] & "' and [Triplo] ='" & [Triplo] & "' and [Espessura]=" & [Espessura] ")
-
boa tarde forum, á uns tempos tomei o gosto por criar um formulário excel vba , com ajuda da net, la consegui criar um ficheiro com formulário excel vba, mas agora queria me aventurar no ficheiro mas com Base dados Access. ja vi vários filmes, procurei na net e ate ja fiz download de alguns ficheiros com base de dados para tentar adaptar os códigos ao meu formulário, mas estou com erros que me estão a dar dores de cabeça passo a explicar: tinha uma conexão ao banco de dados simples, mas os vários ficheiros que fazia download vinham com outro código para conexão, por isso como não conseguia adaptar os códigos á minha conexão, decidi substituir os códigos de conexão. o estranho é que colando os codigos de um exemplo ou outro ficheiro no meu formulário e trocando nomes das combobox, textboxs, tabelas Banco de dados, dá sempre erro. neste momento diz me sempre que "erro de correspondência entre tipos" Alguém me podia dar umas luzes ou ajuda com o código para perceber o que está mal? os meus códigos sao estes: '################################### 'CLASSE PARA CONEXÃO COM BANCO DE 'DADOS ACCESS , este codigo esta numa CLASS MODULE '################################### Public Conn As New ADODB.Connection 'DECLARAÇÃO DA VARIÁVEL DE CONEXÃO Public Sub Conectar() '***************************' 'VARIÁVEL STRING QUE INDICA ' 'PROVEDOR E LOCAL DO BANCO ' 'DE DADOS ACCESS ' '***************************' Dim nConectar As String nConectar = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\Base_dados_Mapa_Viaturas.mdb" Conn.ConnectionString = nConectar Conn.Open 'CONEXÃO ABERTA MsgBox "banco aberto" End Sub Public Sub Desconectar() Conn.Close 'CONEXÃO FECHADA End Sub ' e depois fiz um codigo que tentava preencher as comboboxs com dados da tabela, isto colando o codigo do exemplo que tirei da net e adaptando ao meu formulario Sub CarregaDados_Manutencoes() 'Variável de Conexão e Armazenamento Dim Cx As New ClasseConexao Dim Rs As ADODB.Recordset Dim sql, sql2, sql3, sql4, sql5, sql6 As String Dim Rs2 As ADODB.Recordset ' 'Visualizar página 1 ao abrir formulário ' Me.MultiPage1.Value = 0 sql = "SELECT Estado FROM Dados" Set Rs = New ADODB.Recordset Cx.Conectar Rs.Open sql, Cx.Conn 'Loop para carregar combobox ESTADO Do Until Rs.EOF UserForm_Menu.ComboBoxEstado.AddItem Rs!Estado Rs.MoveNext Loop sql2 = "SELECT Matriculas FROM Dados" Set Rs2 = New ADODB.Recordset Rs2.Open sql2, Cx.Conn 'Loop para carregar combobox MATRICULAS Do Until Rs2.EOF UserForm_Menu.ComboBoxMatriculas.AddItem Rs2!Matriculas Rs2.MoveNext Loop 'Liberar Memória Set Rs = Nothing Set Rs = Nothing Cx.Desconectar End Sub o erro é na parte "UserForm_Menu.ComboBoxEstado.AddItem Rs!Estado " aqui é que faz geral o erro de conexão. Alguém consegue dar uma ideia do que se passa? estes sao os codigos originais do formulario que corre correctamente '################################### 'CLASSE PARA CONEXÃO COM BANCO DE 'DADOS ACCESS '################################### Public Conn As New ADODB.Connection 'DECLARAÇÃO DA VARIÁVEL DE CONEXÃO Public Sub Conectar() '***************************' 'VARIÁVEL STRING QUE INDICA ' 'PROVEDOR E LOCAL DO BANCO ' 'DE DADOS ACCESS ' '***************************' Dim nConectar As String nConectar = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\Base_dados_Mapa_Viaturas.mdb" Conn.ConnectionString = nConectar Conn.Open 'CONEXÃO ABERTA MsgBox "banco aberto" End Sub Public Sub Desconectar() Conn.Close 'CONEXÃO FECHADA MsgBox "banco fechado" End Sub ' 'Variável de Conexão e Armazenamento Dim cx As New ClasseConexao Dim banco As ADODB.Recordset Dim sql, sql2 As String Dim banco2 As ADODB.Recordset 'Visualizar página 1 ao abrir formulário Me.MultiPage1.Value = 0 sql = "SELECT cargo FROM cargo" sql = sql & " ORDER BY cargo" 'Ordenar coluna Set banco = New ADODB.Recordset cx.Conectar banco.Open sql, cx.Conn 'Loop para carregar combobox dos cargos Do While Not banco.EOF Me.ComboBox2.AddItem banco!cargo Me.ComboBox4.AddItem banco!cargo Me.ComboBox5.AddItem banco!cargo Me.ComboBox7.AddItem banco!cargo banco.MoveNext Loop sql2 = "SELECT setor FROM setor" sql2 = sql2 & " ORDER BY setor" Set banco2 = New ADODB.Recordset banco2.Open sql2, cx.Conn 'Loop para carregar combobox dos setores Do While Not banco2.EOF Me.ComboBox1.AddItem banco2!setor Me.ComboBox3.AddItem banco2!setor Me.ComboBox6.AddItem banco2!setor Me.ComboBox8.AddItem banco2!setor banco2.MoveNext Loop 'Liberar Memória Set banco = Nothing Set banco2 = Nothing cx.Desconectar End Sub Fico a aguardar alguma ajuda. Obrigado
-
Preciso de ajuda para o seguinte problema: tenho a tabela1(Tab1) e a tabela2 (Tab2), onde tem campos iguais. No entanto, por vezes, os dados dos campos da Tab1 poderão ser alterados para novos valores. Precisava de comparar as Tab1 e a Tab2 e criar uma tabela3 (Tab3) ou uma consulta que identificasse apenas os dados que foram alterados na Tab1. Mostro um exemplo para facilitar a compreensão do problema. Ao comparar a Tab1 com a Tab 2 temos: Na Tab1 tenho um registo novo (campo1: 1070 e campo 2: Aveiro) então esta linha deverá aparecer na Tab3. Na Tab1 tenho um registo que mudou de local (campo1: 1069 e campo2: Lisboa), então também deverá aparecer na Tab3. Como o campo 1 e campo2 do registo 1068 são iguais entre as duas tabelas (Tab1 e Tab2) então não será necessário aparecer na Tab3 Como resolver esta questão? Obrigado Tab1 Tab2 Tab3 IDSAP Local IDSAP Local IDSAP Local 1068 Porto 1068 Porto 1069 Lisboa 1069 Lisboa 1069 Coimbra 1070 Aveiro 1070 Aveiro
-
Boa noite Preciso de fazer um projecto de base de dados, onde a principal prioridade é que o programa possa ser usado por vários utilizadores em simultâneo, cerca de 5 ou 6 pessoas. Estes multi-utilizadores, terão de ter acesso ao programa fora do escritório e o programa poderá ser instalado no NAS da empresa ou numa cloud, não sei bem qual a melhor maneira. A questão que me preocupa é saber se o Access está automaticamente preparado para multi-utilizadores, ou se para realizar um programa com multi-acessos torna-se complicado e se está acessível a alguém que há muitos anos mexeu em Access, mas sempre para coisas menores. Obrigado pela ajuda que me poderem dar, de forma a poder encontrar o melhor caminho para o projecto.
-
Boa tarde, Tenho uma coluna de dados de entrada e saída de colaboradores, quero criar uma qry de dados de entrada e uma de dados de saída. O objetivo é ter um id com: Numero_data_num_equencia Exemplo ID |Numero | DATA | HORA 1232020051201 |123 | 20200512 | 0800 1232020051202 |123 | 20200512 | 1300 1432020051201 |143 | 20200512 | 0800 Quando muda a data ou o numero de funcionário o numero sequencial faz o reset. Muito Obrigado.
-
Boa tarde! Bom o meu problema é com a transformação de data: exemplo: eu tenho a data "04/02/2012" numa coluna data, o meu objetivo e mudar essa data para "fevereiro de 2012" O meu problema e que no exercício em questão tenho 5 tabelas e eu tenho de ir buscar informação a 3 delas (innerjoin) sendo as tabelas usadas (funcionario; linhasfatura; faturas). A tabela funcionário é composta pelas colunas: ID; Nome; Comissão linhasfatura é composta por: ID; numfatura; horas; preco; taxaiva; codserviço faturas é composta por: numero; data; anulada; funcionario; cliente O exercício pede o seguinte: Qual o montante de comissões a pagar a cada funcionário, mês a mês, referentes a qualquer ano. Eu utilizei o seguinte código: SELECT funcionarios.ID, funcionarios.nome, month(data) as Mes, Sum(preco*horas*comissao) AS comissao_total FROM funcionarios INNER JOIN (faturas INNER JOIN linhasfatura ON faturas.numero = linhasfatura.numfatura) ON funcionarios.ID = faturas.funcionario WHERE (((faturas.[anulada])=False) AND ((Year([data]))=[ Em que ano?]) AND ((Month([data])) Between 1 And 12)) GROUP BY funcionarios.ID, funcionarios.nome, month(data) Este link é como dá: https://i.postimg.cc/dVGbBRk8/564UXMn.png Este link é como deveria dar para estar certo: https://i.postimg.cc/pLNNzcTW/XJRZ4gT.png Bom eu tentei explicar me o melhor possível se alguem me conseguir ajudar, ficaria muito agradecido. Obrigado!
-
I am new to this forum and am looking for help too We have an in-house Access database which we are looking for a company or person to make it more use-friendly Hoping someone can help me, my number is 93 285 6080 Thank you Marisa
-
Ola a todos, Tenho 3 lojas em 3 cidades diferentes e queria colocar em funcionamemto uma base de dados de gestão de vendas. Já tenho a base de dados efetuada no access e ja migrei o backend para o sql server. No computador onde está instalado o sql server liguei o meu frontend (access) ao backend (sqlserver). A dúvida é como ligar frontend (access) nos pc das lojas ao sql server (onde está o backend comum) que está situado em minha casa? Obrigado a todos pela ajuda, qualquer opinião será útil para eu explorar
- 9 replies
-
- sql server
- access
-
(and 1 more)
Tagged with:
-
Olá, Numa consulta utilizo como critério/filtro de um campo, o valor de um controlo em formulário conforme [Formulários]![formnome]![controlonome] Porém, quando o mesmo formulário está inserido no painel de navegação [painel1], a consulta não filtra os registos porque não encontra o valor do controlo (acho eu). Já pesquisei sobre a sintaxe adequada, já experimentei na consulta, mas não resulta. Qual é a sintaxe correta? Aproveito ainda para perguntar porque é que usando o formulário [formnome] baseado na consulta com filtro eu posso alterar os registos, e quando o mesmo formulário está inserido no [painel1], os registos já não podem ser alterados. Obrigado pela Vossa atenção
-
Olá a todos, Tenho uma base de dados pessoal de apoio às minhas aulas. Num formulário com subformulário, consulto conceitos e recursos pedagógicos associados. Porém, por vezes, pretendo eliminar essa relação mas não o recurso, pois ele pode estar relacionado com outro conceito. É possível que o subformulário tenha um botão para eliminar só a relação (incluída numa tabela de junção de muitos-para muitos)? Não sei se esta solução é a mais adequada, pois sou um simples utilizador do Access com reduzidos conhecimentos de programação. A Vossa ajuda seria bem-vinda Obrigado
-
boas, estou a fazer um programa no qual necessito alterar os dados que seleciono atravez de um dategridview mas ao fazer o update os dados sao todos alterados e nao so os selecionados. Se alguem me conseguisse ajudar ficaria grato! Private Sub editar _Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim connection As New OleDbConnection Dim query As String Dim command As New OleDbCommand connection = New OleDbConnection(My.Settings.fclinicConnectionString) query = "UPDATE paciente SET [Nome Paciente]=@Nome_PacienteTextBox,[Nº Utente]=@Nº_UtenteTextBox,[Genero]=@GeneroComboBox,[Data Nascimento]=@Data_NascimentoDateTimePicker,[Morada]=@morada,[Cidade]=@cidade,[País]=@pais,[Codigo Postal]=@codpostal,[Telefone]=@telefone,=@email,[Tipo de Sangue]=@sangue,[Alergias]=@alergias" command = New OleDbCommand(query, connection) command.Parameters.Add("@Nome_PacienteTextBox", OleDbType.VarChar).Value = Nome_PacienteTextBox.Text command.Parameters.Add("@Nº_UtenteTextBox", OleDbType.VarChar).Value = Nº_UtenteTextBox.Text command.Parameters.Add("@GeneroComboBox", OleDbType.VarChar).Value = GeneroComboBox.Text command.Parameters.Add("@Data_NascimentoDateTimePicker", OleDbType.VarChar).Value = Data_NascimentoDateTimePicker.Text command.Parameters.Add("@morada", OleDbType.VarChar).Value = MoradaTextBox.Text command.Parameters.Add("@cidade", OleDbType.VarChar).Value = CidadeTextBox.Text command.Parameters.Add("@pais", OleDbType.VarChar).Value = PaísComboBox.Text command.Parameters.Add("@codpostal", OleDbType.VarChar).Value = Codigo_PostalTextBox.Text command.Parameters.Add("@telefone", OleDbType.VarChar).Value = TelefoneTextBox.Text command.Parameters.Add("@email", OleDbType.VarChar).Value = EmailTextBox.Text command.Parameters.Add("@sangue", OleDbType.VarChar).Value = Tipo_de_SangueComboBox.Text command.Parameters.Add("@alergias", OleDbType.VarChar).Value = AlergiasTextBox.Text Dim Olido As Integer connection.Open() Olido = command.ExecuteNonQuery() If (Olido < 1) Then MsgBox("Erro ao actualizar", MessageBoxButtons.OK, MessageBoxIcon.Error) Else MessageBox.Show("Os dados foram alterados com sucesso!") End If connection.Close() connection.Dispose() End Sub
-
Bom dia atodos do forum estou com problema e quem puder me ajudar agradeço tenho um codigo fonte em vb.net com banco de dados access que esta a me dar uma dor de cabeça sendo assim vou expor o problema tenho um formulario cadastro de produtos que so esta aceitando numeros inteiro ao colocar o preço numero fracionado (Ex: 12.16) e devidaente ao tentar gravar ou atualizar me aparece esse erro:lembrando que o sistema so aceita ponto e nao virgura " data type mismatch in criteria expression " 1) No codigo a variavel preço esta declarada como double cmd.Parameters.Add(New OleDbParameter("@d5", System.Data.OleDb.OleDbType.Double, 10, "price")) 2) no banco de dados access esta assim NOME DO CAMPO | TIPO DE DADOS Preço numerico -----------propiedades do campo-------------- tamanho do campo: duplo casas decimais: Auto necessario: nao indexado: nao Alinhamento de Texto: geral ATENÇAO: eu agora nao sei se o problema e no codigo ou no banco de dados
-
Boa tarde, vou picar numeros serie e queria imprimir com outros dados que tenho na tabela, e a cada 5 queria um codigo barras agregador com esses 5 N serie e também imprimir essa etiqueta. é possivel? alguém tem exemplos? obg
-
Boa tarde, Isto deve ser trivial, mas não estou a ver como se faz. Tenho uma tabela em access com centenas de registos. Adicionei um campo e quero atribuir-lhe um valor, será que há alguma maneira dentro do access de atribuir esse valor a todos os registos automaticamente? Eu até podia fazer um mini-mini-mini programita para fazer isso, mas custa-me a crer que o access não tenha uma função automática para fazer esse trabalho. Obrigado
-
Boa tarde, Sou novo no fórum e tambem em programação SQL, no entanto não desisto de procurar soluções e tentar aprender cada vez mais e melhor. Venho aqui pedir ajuda sobre o seguinte assunto: Estou trabalhando com Access e a tabela em questão apresenta as operações realizadas (tempo de trabalho) no caso de ter interrupção, a interrupção tem a durabilidade desde o fim da operação até ao inicio da proxima operação Então sobre esta tabela, faço a seguinte pesquisa para saber, quantas interrupções tenho e a que horas interromperam: Dei o nome de "Inicio_interrupcoes" SELECT dbo_opr.cod_gpt, dbo_opr.cod_pt, dbo_opr.un_pt, dbo_opr.data_ini, dbo_opr.data_fim, dbo_opr.cod_interrup, * FROM dbo_opr WHERE (((dbo_opr.cod_interrup) Is Not Null)); Este comando, executa corretamente, retornando todos os registos em que cod.interrup seja não nulo. Seguindo agora o código onde preciso milagrosamente de ajuda: SELECT inicio_interrupcoes.cod_gpt, inicio_interrupcoes.cod_pt, inicio_interrupcoes.un_pt, inicio_interrupcoes.data_fim, inicio_interrupcoes.cod_interrup FROM dbo_opr INNER JOIN inicio_interrupcoes ON (dbo_opr.cod_gpt = inicio_interrupcoes.cod_gpt) AND (dbo_opr.cod_pt = inicio_interrupcoes.cod_pt) GROUP BY inicio_interrupcoes.cod_gpt, inicio_interrupcoes.cod_pt, inicio_interrupcoes.un_pt, inicio_interrupcoes.data_fim, inicio_interrupcoes.cod_interrup, dbo_opr.data_ini HAVING (((dbo_opr.data_ini)>[inicio_interrupcoes].[data_fim])); Passando agora a explicar o que preciso: Na primeira consulta "Inicio_Interrupcoes" pesquiso todas os registos que contenham o campo "cod_interrup" preenchido. Na segunda consulta respeitando os campos "cod_gpt" e "cod_pt", pretendo obter a data de inicio da proxima operação que nesta consulta representa o fim da interrupção. Segue exemplo básico: considerem linha 2 e linha 3 da imagem: Linha 2 representa produção -> Inicio = 10/01/2019 08:21:13 Fim = 10/01/2019 12:54:30 Como o registo tem "Cod_interrup" considero que "10/01/2019 12:54:30" representa o inicio da interrupcão e o proximo inicio neste caso "10/01/2019 14:04:53" será o fim da interrupção e inicio da Produção. Alguem me pode dar uma força neste assunto? Obrigado, ficarei muito grato.
-
Boas, Estou criando uma tabela no Access via código sql, e um dos campos desta tabela é Numérico. Quando vou inserir valores com vírgula como tipo Decimal não consigo, pois o ponto desaparece... Mas quando insiro valores como tipo Double, as casas decimais não desaparecem. O que eu reparei é que, quando insiro um valor manualmente na tabela que criei, se coloco vírgula, a vírgula permanece, mas se coloco ponto como separador decimal, o ponto desaparece, e o que era 10.18 vira 1018. A string para criar a tabela é a seguinte: sql = "CREATE TABLE [NomeTabela]([0] DECIMAL(18, 9) NULL, [1] nvarchar(50) NULL, " _ & "[2] nvarchar(50) NULL, [3] nvarchar(50) NULL)" E o código para inserir os valores: For i = 0 To UltLindtlm sql1 = "INSERT INTO [NomeTabela]([0], [1], [2], [3]) VALUES(@0, " _ & "@1, @2, @3)" com = New OleDbCommand(sql1, conexao) com.Parameters.Add("@0", OleDbType.Decimal).Value = ValorDecimal com.Parameters.Add("@1", OleDbType.VarChar).Value = var1 com.Parameters.Add("@2", OleDbType.VarChar).Value = var2 com.Parameters.Add("@3", OleDbType.VarChar).Value = CStr(i) Try com.ExecuteNonQuery() Catch ex As Exception Throw ex End Try Next Se troco o Decimal do código acima por Double, eu consigo inserir números com casas decimais, agora se não, não consigo...
-
Olá pessoal. Estive a tentar explorar o access para tentar fazer uma base de dados para me organizar no trabalho. Pensei que ia ser uma coisa simples, mas deparei-me com muitas incertezas, e cheguei à conclusão que estou mesmo a ZEROS nesta materia. Entrei à tempos numa empresa de fotografia, e existe lá uma série de discos Externos com Filmes. São práticamente 8 anos de filmes... Estão um pouco (bastante até 😁) desorganizados... Então queria criar uma base de dados onde eu pode-se registar os Serviços (Casamentos, Batizados e Outros) se tem Filme Final pronto, se tem projecto, se ainda existe os clips originais, e em que disco se encontram cada um deles... Depois de registar gostava tambem de poder Pesquisar, e editar se caso necessário. Criei uns "esquemas" sobre a ideia que tinha sobre a base de dados, mas não consigo colocar em prática... Deixo aqui um esboço do que pretendia fazer para caso alguem me possa dar uma luzes para fazer isto, ou até para me facilitar. https://files.portugal-a-programar.org/uploads/attach/imageproxy/i7u5TxI_1.png https://files.portugal-a-programar.org/uploads/attach/imageproxy/i7u5TxI_2.png https://files.portugal-a-programar.org/uploads/attach/imageproxy/i7u5TxI_3.png https://files.portugal-a-programar.org/uploads/attach/imageproxy/i7u5TxI_4.png https://files.portugal-a-programar.org/uploads/attach/imageproxy/i7u5TxI_5.png https://files.portugal-a-programar.org/uploads/attach/imageproxy/i7u5TxI_6.png https://files.portugal-a-programar.org/uploads/attach/imageproxy/i7u5TxI_7.png