05. februar 2008 - 09:38
Der er
5 kommentarer og 1 løsning
Betinget Message Box
Hej Jeg har 2 tabeller. Lad os kalde dem Tabel_1 og Tabel_2. Begge tabeller indeholder en kolonne af datoer og en kolonne med afdelingsnumre. Jeg ønsker følgende: Ved tryk på knap, hvis Maks Dato i Tabel_1 er mindre end Maks Dato i Tabel_2, for en given afdeling ... Så MessageBox "Datoerne er allerede indeholdt i Tabel_2. Ønsker du at fortsætte (J/N)" Her, hvis bruger trykker J på tastaturet, skal der fortsættes med det næste step, eller skal processen stoppe. Håber I kan hjælpe med en stump kode. Hvis noget er uklart, så skriv det endeligt. ITumpen.
Annonceindlæg fra HP
05. februar 2008 - 09:45
#1
Something like this If DMax("Dato", "tabel") < DMax("Dato", "tabel2") Then If MsgBox("Continue ?", vbYesNo) = vbYes Then End If End If
05. februar 2008 - 09:46
#2
You also need a criteria for the "afdeling" in each dMax Example: DMax("Dato", "tabel", "Afdeling = 1" )
05. februar 2008 - 10:10
#3
Hej Terry, Hvis jeg viser dig den kode som skal indeholde løsningen, vil du ikke indbygge din løsning i den? Koden er som følger mellem linjerne: ------------------------------------------- Function ImportExcelVagtplan() DoCmd.SetWarnings False DoCmd.RunSQL "DELETE IndlaesIDB.* FROM IndlaesIDB" DoCmd.TransferSpreadsheet transfertype:=acImport, _ spreadsheettype:=acspreadsheettypeexcel17, _ tablename:="IndlaesIDB", _ filename:="" & Forms!HvdFrm!Tekst16, hasfieldnames:=True DoCmd.RunSQL "Delete IndlaesIDB.Idnr FROM IndlaesIDB WHERE (((IndlaesIDB.Idnr) Is Null))" DoCmd.RunSQL "UPDATE tblAfdelinger INNER JOIN IndlaesIDB ON tblAfdelinger.tblAfdnr = IndlaesIDB.Afdarb SET IndlaesIDB.VagtPause = [PraeInstilMaltid]" DoCmd.RunSQL "INSERT INTO tblTimeregistrering ( LoennrTimereg, AfdArb, Dato, VagtStart, VagtSlut, TimeType, Moedt, Gaaet, Maltid, VagtPause ) " & _ "SELECT IndlaesIDB.Idnr, IndlaesIDB.Afdarb, tblDato.DatoID, IndlaesIDB.Vagtstart, IndlaesIDB.Vagtslut, IndlaesIDB.Timetype, IndlaesIDB.Moedt, IndlaesIDB.Gaaet, tblAfdelinger.PraeInstilMaltid, IndlaesIDB.VagtPause " & _ "FROM tblDato INNER JOIN (tblAfdelinger INNER JOIN (tblMedarbProfil INNER JOIN IndlaesIDB ON tblMedarbProfil.ID = IndlaesIDB.Idnr) ON tblAfdelinger.tblAfdnr = IndlaesIDB.Afdarb) ON tblDato.Dato = IndlaesIDB.Dato" DoCmd.SetWarnings True MsgBox ("Vagtplanen er indlæst") End Function ----------------------------- Bemærk: Tabel_2 er IndlaesIDB Tabel_1 er tblTimeregistrering Dato er Dato Afdeling er ArbAfd Jeg regner med, at løsningen skal indbygges liuge før DoCmd.RunSQL "INSERT INTO tblTimeregistrering ... Håber du har tid til at hjælpe. Mvh. ITumpen.
05. februar 2008 - 10:29
#4
if you can send me your dB (or part of) it may be easier for me ekspertenATsanthell.dk AT = @
05. februar 2008 - 13:05
#5
Det er super Terry! Tak: Function ImportExcelVagtplan() DoCmd.SetWarnings False DoCmd.RunSQL "DELETE IndlaesIDB.* FROM IndlaesIDB" DoCmd.TransferSpreadsheet transfertype:=acImport, _ spreadsheettype:=acspreadsheettypeexcel17, _ tablename:="IndlaesIDB", _ filename:="" & Forms!HvdFrm!Tekst16, hasfieldnames:=True DoCmd.RunSQL "Delete IndlaesIDB.Idnr FROM IndlaesIDB WHERE (((IndlaesIDB.Idnr) Is Null))" If DMax("Dato", "tblTimeregistrering", "AfdArb = 43") < DMax("Dato", "IndlaesIDB", "AfdArb = 43") Then If MsgBox("Continue ?", vbYesNo) = vbYes Then DoCmd.RunSQL "UPDATE tblAfdelinger INNER JOIN IndlaesIDB ON tblAfdelinger.tblAfdnr = IndlaesIDB.Afdarb SET IndlaesIDB.VagtPause = [PraeInstilMaltid]" DoCmd.RunSQL "INSERT INTO tblTimeregistrering ( LoennrTimereg, AfdArb, Dato, VagtStart, VagtSlut, TimeType, Moedt, Gaaet, Maltid, VagtPause ) " & _ "SELECT IndlaesIDB.Idnr, IndlaesIDB.Afdarb, tblDato.DatoID, IndlaesIDB.Vagtstart, IndlaesIDB.Vagtslut, IndlaesIDB.Timetype, IndlaesIDB.Moedt, IndlaesIDB.Gaaet, tblAfdelinger.PraeInstilMaltid, IndlaesIDB.VagtPause " & _ "FROM tblDato INNER JOIN (tblAfdelinger INNER JOIN (tblMedarbProfil INNER JOIN IndlaesIDB ON tblMedarbProfil.ID = IndlaesIDB.Idnr) ON tblAfdelinger.tblAfdnr = IndlaesIDB.Afdarb) ON tblDato.Dato = IndlaesIDB.Dato" DoCmd.SetWarnings True MsgBox ("Vagtplanen er indlæst") End If End If End Function
05. februar 2008 - 15:26
#6
selv tak
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser