11
januari

Vi kan lösa era problem

  • 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?

No comments yet

8
maj

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

No comments yet

21
oktober

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 – KundNum:
X — A — 1
X — B — 2
X — C — 3
Y — D1
Y — E2
ZF1
ZG2
ZH3

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

2 comments

23
februari

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

No comments yet

Back to top