Avatar billede -anders- Juniormester
19. januar 2003 - 19:25 Der er 14 kommentarer og
1 løsning

Oprette ny post i accessdatabase med html dokument som brugerflad

Hej eksperter kan man lave nedenstående *SS*

Jeg har en accessdatabase som bruges til at logge forskelige hændelser, databasen er for så vidt færdig og køre som den skal. I databasen er der en fritekstsøgning, denne søgning bruges ikke ret meget, men til gengæld lægges der mange poster i i databasen. Min ide var så at lave en indtastningsformualr i HTML som er bundet sammen med selve databasen, så brugeren blot starter htmlformen når der skal registreres nye poster i stedet for at starte hele databasen, men hvis man vil søge efter poster starter man blot selve databasen. Nedenstående felter bruges pt. i databasen til indtastning af nye poster i en form:

Dato, (kort datoformat dags dato indsættes automatisk)
Kategori, (opslagsfelt med en til mange relation)
Initialer, (opslagsfelt med en til mange relation)
Medforfatter, (tekstfelt)
Titel, (tekstfelt)
Beskrivelse, (Notatfelt)
Nøglen i datatabellen er af typen autonummering og feltetnavnet er RecordID

Lidt om miljøet:
Databasen navn er Log.mdb og er placeret på et delt netværksdrev H:
Hele stien er H:\Logbog\Log.mdb
Databasen er ikke delt, brugerne starter den blot ved en genvej til ovenstående sti.

Kan dette lade sig gøre med feks et ASP script eller ligende, jeg er ikke særlig dytigt til hverken html eller asp.

Databasen er udviklet i Access 2000 og køre på Windows2000 Pro

PS. Jeg har forsøgt mig lidt med at oprette dataadgangssider i access, men det er ikke lige det jeg har brug for. Håber der er nogen der kan hjælpe.
Avatar billede arne_v Ekspert
19. januar 2003 - 19:28 #1
Du skal have en web-server (f.eks. IIS) og et serverside script-sprog
(f.eks. ASP) for at kunne gøre det.
Avatar billede -anders- Juniormester
19. januar 2003 - 19:31 #2
Hej Arne tak for svaret, det er altså ikke muligt at lave det lokalt, jeg mener blot på en delt mappe på en server?
Avatar billede arne_v Ekspert
19. januar 2003 - 19:42 #3
ASP kræver en IIS server.

Jeg mener ikke, at hverken JavaScript eller VBScript
kan opdatere en Access database. Af indlysende sikkerheds
årsager.

Man kunne muligvis lave noget med en ActiveX control.

Men IIS+ASP vil afgjort være den "normale" måde at gøre
det på.
Avatar billede -anders- Juniormester
19. januar 2003 - 19:51 #4
Ok det forstået, forløbig tak ,jeg lader spørgsmålet åbnet til i morgen, måske nogen har indlæg vedr. activeX eller ligende, tak for nu
Avatar billede nih Novice
19. januar 2003 - 20:14 #5
Hvad med et lille program i VB eller Delphi.
Eller en JavaApplet.

Niels
Avatar billede arne_v Ekspert
19. januar 2003 - 20:46 #6
Det skulle jo køres fra browseren i en HTML side.

VB eller Delphi kan sikkert sagtens bruges, men det må skulle
være i form af en ActiveX komponent.

Java applets ? Måske også, men der er en del ekstra komplikationer.
Java kan kun accesse en Access database via JDBC ODBC bridge. Og
det kræver en DSN defineret på maskinen. Så skal applet sikerheden
konfiguereres på alle maskinerne for at tillade appletten
at accesse databasen. Inkompabilitet mellem MS JVM og nyere
SUN JVM. Håbløst efter min mening.
Avatar billede terry Ekspert
20. januar 2003 - 10:48 #7
You can make HTML pages in Access 2000/XP but as I havent had much experience with these I am only going to place a link which may be of use.

http://www.microsoft.com/accessdev/a-a&sa.htm#web
Avatar billede -anders- Juniormester
20. januar 2003 - 11:01 #8
Hej alle
Mange tak for jeres indlæg, jeg er bange for at det ender med at jeg opgiver,det er i forhold til den aktuelle opgave lidt overkill at sætte en ISS-server op, jeg havede håbet der var en mere "simpel løsning", men tak for indlægende, dog vil jeg lade spørgsmålet stå åbnet resten af dagen man ved jo aldrig *SS*
>> Terry, ja man kan udgive elementer i en db som dataadgangsside jeg har prøvet at arbejde lidt med det, men syntes ikke det fungere efter hensigten så det har jeg droppet.
mvh Anders
Avatar billede nih Novice
20. januar 2003 - 18:47 #9
Hvad med et lille script i en VBS fil:
eks:

inputNavn = inputbox ("indtast Navn" )
inputAdr =  inputbox ("indtast adresse")

strsql = "insert into tblAdresse (navn, adresse) Values ('" & _
    inputNavn & "', '" & inputAdr & "')"

set con = WScript.CreateObject("ADODB.Connection")

con.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= c:\db1.mdb"

' evt en < msgbox strsql > for sql fejlfinding

con.execute strsql



Jeg bruger selv ovenstående metode til en DB, hvor jeg løbende registrere time forbrug.

Niels
Avatar billede nih Novice
20. januar 2003 - 19:10 #10
Husk at lukke connection:

con.close
set con = nothing
Avatar billede -anders- Juniormester
21. januar 2003 - 10:11 #11
Hej Niels
Dit forslag lyder som noget jeg kan bruge, kunne du give et detaljeret eksempel på hvordan jeg benytter dette VBS script i forhold til min db jvf. min beskrivelse.
mvh Anders
Avatar billede nih Novice
21. januar 2003 - 20:30 #12
Opret en ren tekstfil i eks. noteblok med navnet XXXX.VBS

indtast følgende:
inputDato = "#" & year(date()) & "-" &  month(date()) & "-" & day(date()) & "#"
inputKategori = inputbox ("indtast kategoriId" )
InputInit = inputbox ("indtast Initial" )
inputmedForfatter = inputbox ("indtast MedForfatte" )
inputTittel =  inputbox ("indtast Tittel")
inputBeskr = inputbox ("Indtast beskrivelse")

strsql = "insert into DinTabel (Dato, Kategori, Initialer, Medforfatter, Titel, Beskrivelse ) " & chr(10) &  _
        "Values (" & inputDato  & ", " & _
        inputKategori & ", '" & _
        inputInit & "', '" & _
        inputmedForfatter & "', '" & _
        inputTittel & "', '" & _
        inputBeskr & "';"

set con = WScript.CreateObject("ADODB.Connection")

con.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= H:\Logbog\Log.mdb"

'msgbox strsql

con.execute strsql
con.close
set con = nothing


Linjen: strsql = "insert into DinTabel ..... ->  'DinTabel' skal ændres til det rigtige tabel navn.

VBS script er meget smart til automation, men brugerfladen er ikke noget at råbe hurra for.

Niels
Avatar billede -anders- Juniormester
22. januar 2003 - 12:15 #13
Hej Niels
Tak for dit sidste svar, jeg har testet det og det virker, men som du siger er brugerfladen ikke noget at prale af, dog er det sådan at jeg måske kan bruge dit forslag om vb script i samarbejde med et html dokument på en anden måde, man kan lave noget kald til vb scripet når html dokumenet lukkes, jeg er dog ikke kommet vidre med den del, men der er håb forude.
Så du har egenlig fortjent point da din indgangsvinkel til problemet fik mig videre. Hvis du lægger dit indlæg som et svar for du dine point.
Med venlig Hilsen
Anders Jensen
Avatar billede nih Novice
22. januar 2003 - 14:45 #14
takker :)

Selvom det ikke løste dit problem
Avatar billede -anders- Juniormester
22. januar 2003 - 15:18 #15
Hej Niels
Næ måske ikke direkte, men mange gange kan en anden indgangsvinkel ofte få en til at tænke andre løsninger end dem man elles ville bruge, ideen med et vbscript er god da man kan binde et htmldokument sammen et sådan (ved ikke lige hvordan, men har set det virke. Så her er dine point

mvh Anders
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester