Resolvido de como criar o xml com os dados para o sat, penei para achar a solução, mas foi mais simples do que eu pensava. Segue o código pronto para quem precisar. Valeu pela dica FabioPaes
Crie um módulo coloque
Option Compare Database
Function CupomSatPDV()
nped = forms!vendas!codigo "Numero da venda
'Pega informação do inicio do arquivo xml <?xml version="1.0" encoding="UTF-8" ?> dentro do arquivo texto1xml.txt
myFile1 = Application.CurrentProject.path & "\texto1xml.txt"
Open myFile1 For Input As #1
Do Until EOF(1)
Line Input #1, textline
texto1xml = Trim(texto1xml & textline)
Loop
Close #1
Open CurrentProject.path & "\Envio_SAT.xml" For Output Access Write As #1
Debug.Print texto1xml 'Grava informação do xml <?xml version="1.0" encoding="UTF-8" ?> dentro do arquivo txt
Print #1, Tab(0); texto1xml
Print #1, Tab(0); "<CFe>";
Print #1, Tab(0); " <infCFe versaoDadosEnt=" & """0.07""" & ">";
Print #1, Tab(0); " <ide>";
Print #1, Tab(0); " <CNPJ>96352541000144</CNPJ>";
Print #1, Tab(0); " <signAC>SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT</signAC>";
Print #1, Tab(0); " <numeroCaixa>001</numeroCaixa>";
Print #1, Tab(0); " </ide>";
Print #1, Tab(0); " <emit>";
Print #1, Tab(0); " <CNPJ>96352541000144</CNPJ>";
Print #1, Tab(0); " <IE>111111111111</IE>";
Print #1, Tab(0); " <indRatISSQN>N</indRatISSQN>";
Print #1, Tab(0); " </emit>";
Print #1, Tab(0); " <dest>";
Print #1, Tab(0); " <CPF></CPF>";
Print #1, Tab(0); " </dest>";
''selecionar items da venda
Dim csql As String
Set bc = CurrentDb
' Pega as informações necessárias do item dentro das vendas e produtos
Set Venda = bc.OpenRecordset("SELECT [venda].produto, [produtos].descricao, [venda].CFOP, [produtos].CSOSNTributado, [produtos].NCM, [venda].icmsv, [venda].cst, [venda].cfop, [venda].[Id venda], [venda].[referência], [venda].Quantidade, [venda].vendauni FROM [Venda] INNER JOIN [produtos] ON [venda].[referência] = [produtos].[ref] WHERE ((([venda].[id Venda])=" & nped & "))", dbOpenDynaset)
Do While Not Venda.EOF
If itemv = 0 Then
itemv = 1
Else
itemv = itemv + 1
End If
Print #1, Tab(0); " <det nItem="; """" & itemv; """" & ">";
Print #1, Tab(0); " <prod>";
Print #1, Tab(0); " <cProd>123</cProd>";
Print #1, Tab(0); " <xProd>Refrigerante lata 350ml</xProd>";
Print #1, Tab(0); " <NCM>52415241</NCM>";
Print #1, Tab(0); " <CFOP>5102</CFOP>";
Print #1, Tab(0); " <uCom>UN</uCom>";
Print #1, Tab(0); " <qCom>1,00</qCom>";
Print #1, Tab(0); " <vUnCom>1,00</vUnCom>";
Print #1, Tab(0); " <indRegra>A</indRegra>";
Print #1, Tab(0); " <vDesc>0.00</vDesc>";
Print #1, Tab(0); " <vOutro>0.00</vOutro>";
Print #1, Tab(0); " </prod>";
Print #1, Tab(0); " <imposto>";
Print #1, Tab(0); " <vItem12741>0.00</vItem12741>";
Print #1, Tab(0); " <ICMS>";
Print #1, Tab(0); " <ICMSSN102>";
Print #1, Tab(0); " <Orig>0</Orig>";
Print #1, Tab(0); " <CSOSN>500</CST>";
Print #1, Tab(0); " </CSOSN>";
Print #1, Tab(0); " </ICMSSN102>";
Print #1, Tab(0); " <PIS>";
Print #1, Tab(0); " <PISNT>";
Print #1, Tab(0); " <CST>49</CST>";
Print #1, Tab(0); " </PISNT>";
Print #1, Tab(0); " </PIS>";
Print #1, Tab(0); " <COFINS>";
Print #1, Tab(0); " <COFINSNT>";
Print #1, Tab(0); " <CST>49</CST>";
Print #1, Tab(0); " </COFINSNT>";
Print #1, Tab(0); " </COFINS>";
Print #1, Tab(0); " </imposto>";
Print #1, Tab(0); " </det>";
Venda.MoveNext
Loop
Venda.Close
'Finalizou os itens
'Finalizando a venda
Print #1, Tab(0); " <DescAcrEntr>";
Print #1, Tab(0); " <vDescSubtot>0.00</vDescSubtot>";
Print #1, Tab(0); " </DescAcrEntr>";
Print #1, Tab(0); " <total>";
Print #1, Tab(0); " <vCFeLei12741>0,49</vCFeLei12741>";
Print #1, Tab(0); " </total>";
Print #1, Tab(0); " <pgto>";
Print #1, Tab(0); " <MP>";
Print #1, Tab(0); " <cMP>01</cMP>";
Print #1, Tab(0); " <vMP>1,00</vMP>";
Print #1, Tab(0); " </MP>";
Print #1, Tab(0); " </pgto>";
Print #1, Tab(0); " <infAdic>";
Print #1, Tab(0); " <infCpl>Obrigado e volte sempre</infCpl>";
Print #1, Tab(0); " </infAdic>";
Print #1, Tab(0); " </infCFe>";
Print #1, Tab(0); "</CFe>";
Close #1
End Function
No form que for usar para emitir o cupom fiscal sat coloque o comando no botão ao clicar Call CupomSatPDV