Olá, bom dia a ti !
Seja bem vindo ao nosso fórum !
Para que exportar para o Excel se você pode ter esse campo calculado no próprio Access ?
Sem ver o teu projeto diria eu que, na tua tabela produto, você deva ter um campo chamado "custo" e outro "venda", para cada produto que a tua empresa oferece para teus clientes certo ? Cria um formulário com todos esse campos, depois insira uma caixa de texto desacoplada, renomeia ela para "margemlucro".
Insira a seguinte fórmula dentro dessa caixa de texto chamada venda: =([custo]*[margemlucro]/100].
Esse é um caminho. O outro seria esse que esta abaixo, lembrando a ti, que terás que adaptar o mesmo para o tem projeto.
lembrando, terás que ter uma tabela temporária onde ficara os dados importados ( tbltemporaria), um arquivo em excel ( LivroPreco), criar uma pasta na raiz ( veja a sintaxe em FileName )
Private Sub BT_IMPORTA_Click()
'By Jpaulo maximoacess.maisforum.com.br
'DoCmd.Hourglass True 'Ampulheta
Dim strSQL As String, strSQL1 As String
DoCmd.TransferSpreadsheet transfertype:=acImport, _
tablename:="tblTemporaria", _
FileName:="C:\Jantin\Importar\LivroPreco.xlsx", Hasfieldnames:=True, _
Range:="", SpreadsheetType:=5
' alterar o livro preços para o nome correto quando for fazer a importacao das listas de preços,pode ser colocada tambem em uma pasta.
' na planilha do excel, tem que ter os mesmos campos que tem na tabela produtos, quando for fazer a importação.
DoCmd.SetWarnings False
strSQL = "UPDATE Produtos AS t, (SELECT * FROM tblTemporaria) AS h Set t.CustoPadrão = h.CustoPadrão WHERE h.Nomedoproduto=t.Nomedoproduto"
strSQL1 = "DELETE * from tblTemporaria"
DoCmd.RunSQL (strSQL)
DoCmd.RunSQL (strSQL1)
DoCmd.SetWarnings True
'Call Grava_Excel("C:\LivroPreco.xlsx")
'DoCmd.Hourglass False
End Sub
Bons estudo para ti...e bom fim de semana.
Abraços.