- Behöver ni hjälp med era accessprogram?
- Vill ni skapa ett nytt program i MS Access ?
- Önskar ni få råd, hjälp och stöd för hur ni ska göra?
- Har ni data som ni vill kunna analysera och behandla i en databas.
- Har ni växt ur Excel och känner att era data skulle kunna organiseras effektivare i t.ex. en databas?
Vi kan lösa era problem
Formatera datum med ‘rätt’ formatsträng
När datumsträngar ska användas i accessprogram är det många gånger viktigt att rätt formatsträng användas. Speciellt om programmet ska användas i olika länder. Då kan man inte använda ”svenska” formatering: Format(dat, "yyyy-mm-dd")
Istället kan man använda nedanstående funktion för att ta reda på vilken formatsträng som ska användas, anropet ser då ut så här: Format(dat, datumFmt())
' Ruturnerar en formatsträng
' som tex kan användas till funktionen Format()
' Exempel på svar:
' 1) "yyyy-mm-dd" om svenskt datumformat används
' 2) "d.m.yyyy" om finskt datumformat används
' 3) "dd-mm-yyyy" om spanskt datumformat används
' 4) "m/d/yyyy" om USAs datumformat används
' 5) "dd/mm/yyyy" om Engelskt datumformat används
Function datumFmt()
Dim Dat$, ch$, fmt$
Dat = CStr(DateSerial(2012, 1, 9))
If InStr(Dat, ”-”) Then ch = ”-”: Dat = Replace(Dat, ”-”, ”-”)
If InStr(Dat, ”.”) Then ch = ”.”: Dat = Replace(Dat, ”.”, ”-”)
If InStr(Dat, ”/”) Then ch = ”/”: Dat = Replace(Dat, ”/”, ”-”)
Select Case Dat
Case ”2012-01-09″: fmt = ”yyyy-mm-dd” ‘ Sverige,Polen
Case ”2012-09-01″: fmt = ”yyyy-dd-mm” ‘
Case ”2012-1-9″: fmt = ”yyyy-m-d” ‘
Case ”2012-9-1″: fmt = ”yyyy-d-m” ‘
Case ”09-01-2012″: fmt = ”dd-mm-yyyy” ‘ Spanien
Case ”01-09-2012″: fmt = ”mm-dd-yyyy” ‘ Österrike
Case ”9-1-2012″: fmt = ”d-m-yyyy” ‘ Finland
Case ”1-9-2012″: fmt = ”m-d-yyyy” ‘ Usa
Case Else: MsgBox ”Okänt datumformat.”: Stop
End Select
datumFmt = Replace(fmt, ”-”, ch)
End Function
Skapa stigande numrering med ny numrering för varje grupp
Hej !
Söker med ljus och lykta efter en lösning på mitt bekymmer men inte hittat något.
Jag behöver skapa en numrering av posterna i en fråga (skulle även kunna vara en tabell). Det vore inga problem om det bara skulle vara en enkel stigande numrering, det löses med en räknare.
Mitt önskemål är att numreringen ska börja om för varje nytt värde i ett av fälten.
T ex:
Kundgrupp – Kund – Num:
X — A — 1
X — B — 2
X — C — 3
Y — D — 1
Y — E — 2
Z — F — 1
Z — G — 2
Z — H — 3
Så i fältet ”Num” vill jag få in en funktion som skapar en ny numrering för varje förändring i ”Kundgrupp”
Finns det någon SQL kod som kan skapa en sådan alternativt någon annan funktion?
Mvh // Håkan
VBA-kod för olika sökvägar
Ibland vill man ha veta sökvägarna till bl.a Mina dokumnet (My Documents) och till programmappen. Sökvägarna skiljer sig ju mellan olika användare och olika operativsystem. Här är lite kod för det.
Access kod till Mina dokument:
Function sMyDocumentsPath()
Const MY_DOCUMENTS = &H5&
Dim objShell
Dim objFolder
Dim objFolderItem
Set objShell = CreateObject(”Shell.Application”)
Set objFolder = objShell.Namespace(MY_DOCUMENTS)
Set objFolderItem = objFolder.Self
sMyDocumentsPath = objFolderItem.Path ‘My Documents path
End Function
Access kod till programmappen:
Function sProgramPath()
Const PROGRAM_FILES = &H26&
Dim objShell
Dim objFolder
Dim objFolderItem
Set objShell = CreateObject(”Shell.Application”)
Set objFolder = objShell.Namespace(PROGRAM_FILES)
Set objFolderItem = objFolder.Self
sProgramPath = objFolderItem.Path
End Function


