Hej och God Fortsättning Hej Pidde, Hej Pelle Hej, går det att klistra in kod - det blir lite tydligare då . Hej Pelle Hej Pidde, här märker jag att jag har kompetenslucka :) Här kommer en kontroll mha Dcount() som är likvärdig med Select Count(1) Hej, precis - det där ser ju precis ut som det du vill uppnå. Dvs, ta reda på antalet träffar som kommer uppstå. Om jag inte minns fel så var huvudfrågan att du inte ville skicka något om inget fanns, så svaret borde vara den koden du presenterade, eller? Pelle, nu blandar du ihop mig med Peter Ja det gjorde jag! Haha, tack för att du uppmärksammade mig på det. Tack för att du hjälper till :) Hej Felmeddelandet (Runmacro avbröts) beror troligen på att ett körfel uppstår när formuläret öppnas. Prova lägga in brytpunkter i koden och stega dig fram för att kunna se vilken kod det är som är orsken.Makro
Idag kör jag ett makro 3 ggr/dag där jag kör en fråga mot historikfilen i M3. Det makrot gör är att skicka ett mail till mig med en bifogad fil i Excell med poster från frågan. Nu är det så att oftas är det inga poster i frågan, nu till min fråga:
Jag vill att makrot skall endast skicka mail till mig om det finns några poster i frågan.
Hur skapar man ett sådant makro?
När makrot kör frågan, finns det poster så skicka ett mail annars avsluta
PiddeSv: Makro
Spontant borde du kunna få tag i en "räknare" som räknar samman antalet rader i filhistoriken som du kommer skicka. Precis innan du sänder iväg det kontrollerar du att det värdet är > 0 , så skall det mailas, annars inte. Vill du köra en sql-sats före så kan du skriva select count(1) as antal from tabell where värde = vad du skall söka efter. Då får du också tag på antalet rader före.
Om du skriver in ditt macro här så kanske vi kan hjälpa dig att svara lite bättre på din fråga.
//Pelle - PellesoftSv:Makro
Så här ser mitt makro ut:
DatabasobjektViaEpost
Objekttyp Fråga
Objektnamn Kontroll snittvikt
Utdataformat Excel 97
Till opln@skanemejerier.se
Stängfönster
Objekttyp Makro
Objektnamn Makro skicka mail
Spara Nej
AvslutaAccess
Spara Nej
Pelle, SQL-satser är överkurs för mig
Jag kör bara "standardMakro i Access"
Pidde Sv: Makro
Det kanske är någon av de 3 rutinerna:
DatabasobjektViaEpost
Objekttyp Fråga
Objektnamn Kontroll snittviktSv:Makro
Här kommer mitt makro
Option Compare Database
'------------------------------------------------------------
' Makro_skicka_mail
'
'------------------------------------------------------------
Function Makro_skicka_mail()
On Error GoTo Makro_skicka_mail_Err
DoCmd.SendObject acQuery, "Pidde kontroll Mittra transtyp 31 period summerad", "Excel97-Excel2003Workbook(*.xls)", "opln@skanemejerier.se", "", "", "Kontroll av snittvikt på utleveranser", "", False, ""
DoCmd.Close acMacro, "Makro skicka mail"
DoCmd.OpenForm "Formulär Avsluta", acNormal, "", "", , acNormal
Makro_skicka_mail_Exit:
Exit Function
Makro_skicka_mail_Err:
MsgBox Error$
Resume Makro_skicka_mail_Exit
End Function
Sv: Makro
Kan du inte köra en sql-fråga doCmd som säger select count(1) from tabell where ... för att få fram antalet poster som du kommer få tillbaks och behandla? Om svaret är 0 kan du avbryta hela rutinen tills nästa gång den går - då borde du slippa få mail som är tomma.Sv:Makro
If Dcount("*","Pidde kontroll Mittra transtyp 31 period summerad")=0 Then Exit Function
Lägg in efter raden med Function Makro_skicka_mail()
Sv: Makro
//pelleSv:Makro
men jag hoppas att koden passar till Peters problem.Sv: Makro
Sv: Makro
Kör jag makrot från Accessdatabasen fungerar den klockrent
När jag testar och låter Schemaläggare starta den vid en viss tidpunkt så får jag följande felmeddelande:
Instruktionen RunMacro avbröts
Du har använt en metod för DoCmd-objektet för att köra en instruktion i Visula basic, men klickat på Avbryt i en dialogruta.
Du kan t.ex. ha använt metoden Close för att stänga ett formulär som du gjort ändringar i och sedan klickat på Avbryt i dialogrutan där du tillfrågas om du vill spara ändringarna ????
Vad är det som inte funkar?
PiddeSv:Makro