Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

For å gjøre spørsmålet litt klarere:

 

Jeg holder på å lage et program som skal holde styr på medlemmene i idrettslaget. Et helt enkelt 1-forms program som er kobla til en access 2000 database.

 

Jeg vil vite: Hvordan jeg kan lage lister for utskrift; lister med navn, nummer osv over medlemmene. Noe som ligner "rapport"-funksjonen i access. Hvordan gjør jeg dette??

 

Grunner til at jeg lager programmet i vb i steden for access er:

-At access-programmet ikke kan brukes av andre enn de som har access installert

-At access ikke er idiotsikkert for brukere med mindre kunnskap

-At det er mye morsommere å programmere enn å sitte å fikle i Access..

Endret av svamp
Lenke til kommentar

Jeg gjorde noe lignende i min grønne ungdom :p Husker ikke det helt da, men jeg kan jo rote frem igjen kildekoden. Men uansett, så er dette ting som ikke enkelt lar seg forklare i løpet av et par linjer. Du har vel VB bøker?

 

Bare husk på at når du referer til *.mdb filen, så ikke skriv inn banen til filen, bare la den ligge i roten av prosjektet. Ellers virker ikke databasen annet enn på din datamaskin (snakker av egen bitter erfaring...) :)

Lenke til kommentar

Hei, takk for svar.

Nei, har dessverre ikke VB-bøker, bortsett fra en helt grunnleggende (og tynn) en som viser noen funksjoner.

 

Databasenavnet ligger i en konstant:

const DATABASENAVN = "\navn.mdb". Så bruker jeg App.path & DATABASENAVN når det trengs. Det burde vel gå bra?

 

Er det sql en må bruke for å løse problemet mitt eller?

Lenke til kommentar

Det spiller ingen rolle om du bruker SQL eller Access, recordsettet er det samme. Kom på at jeg brukte Crystal Reports (en ekstra modul eller biblotek om du vil til VB) for å skrive ut felter fra et recordset.

 

Men for å komme med et godt råd, lag heller hele greien som ASP, er mye lettere å få til det du vil (du bruker VBScript), pluss alle fordelene en serverbasert applikasjon gir deg kontra et klientbasert.

Lenke til kommentar

Mener du da at brukeren skal bruke nettleseren for å bruke databasen? Eller at et vb program skal koble seg opp mot en database på nettet?

 

Jeg har forresten ikke noe web sted å ha asp-filer på. Gratissteder støtter ikke det, i alle fall ikke de jeg har funnet.. :(

 

Det er forresten heller ikke så mange som skal bruke programmet mitt, en 3-4 personer kanskje.

 

ASP har jeg aldri vært borti før. Vil du si det er vanskelig å lære seg?

Endret av svamp
Lenke til kommentar

Du trenger ikke å ha egen host for ASP så lenge det skal brukes internt. Det du trenger er WinNT/w2k/xp/w2k3 og IIS, som du legger til under Add/remove Windows Components i Control Panel. Deretter er det bare å lage sider, Dreamweaver er glimrende til denne jobben.

 

Jepp, du leser databsen fra en browser, men det er selve webserveren som kommuniserer med databasen. Altså det går slik: Browser -> Web Server (IIS) -> database (Access).

 

Er veldig lett å lære seg, ihvertfall hvis du kan en del VB fra før. VBScript er en slags lillebror til VB, litt enklere og litt færre funksjoner, men mer enn nok til det du har behov for. Syntaksen for å hente data fra et recordset, er nesten identisk med VB. Og selve logikken i koden er lik som i VB. Eneste forskjellen sånn sett, er at du ikke lager former, men lager web sider og putter inn ASP kode inni selv websiden.

 

Men uansett hvilken løsning du velger (enten ASP eller VB), så tipper jeg det er mye for deg å sette deg inn i. Utifra min undervisningserfaring, er ASP lettere å lære seg enn VB. Gå og kjøp en god bok om ASP, Wrox sine bøker er meget gode.

Lenke til kommentar

Det er mulig du kan finne tilsvarende prosjekter, men uansett så heter jo ikke alle tabellene og feltene i databasen det samme som din database, så du må jo uansett rette på navn til tabeller og felt i koden. Og det er en nesten like stor jobb som å lage alt på nytt, med mindre du har svært gode kunnskaper om hva du gjør.

 

By the way, Mamut.com har jo allerede slike programmer som du trenger da. Se http://www.mamut.com/det.asp?id=1453 for mer info.

Lenke til kommentar

:w00t:

 

Jeg har i dette øyeblikk fått lister til å fungere.

Ikke så veldig proft kanskje, men godt nok til mitt bruk.

Her er koden jeg brukte, kanskje noen andre trenger enkle databaselister:

 

Private Sub LagListe()
 Dim intTeller As Integer
 Dim strSpacer As String
 Dim strLinje As String

 strSpacer = Chr(10) & Chr(10) & Chr(10)
 strLinje = "--------------------------------------------------------------------------"
 
 NavForste
 frmListe.Show
 frmListe.Print strSpacer
 frmListe.Print Tab(30); "DBFelt1"; Tab(40); "DBFelt2"; Tab(60); "DBFelt3"; Chr(10); Tab(30); strLinje
 For intTeller = 1 To Val(lblAntallPoster.Caption)
   If rsData.Recordset.BOF Then
     frmListe.Print Tab(30); txtFelt1.Text; Tab(40); txtFelt2.Text; Tab(60); txtFelt3.Text
     rsData.Recordset.AbsolutePosition = rsData.Recordset.AbsolutePosition + 1
   End If
   frmListe.Print Tab(30); Felt1.Text; Tab(40); Felt2.Text; Tab(60); Felt3.Text
   rsData.Recordset.AbsolutePosition = rsData.Recordset.AbsolutePosition + 1
 Next
End Sub

 

NavForste er en prosedyre som går til første post i databasen.

DBFelt er "overskrifter" på lista

txtFelt er tekstfeltene som viser innholdet i databasen. (knappen som starter prosedyren må være i samme form som feltene og datakontrollen..)

lblantallposter er en label som viser antallet poster i databasen.

Ulempen med å bruke Print er at hvis listen er lang så blir det ikke plass i formen.. ...Hjelp?

 

Dette kunne helt sikkert ha blitt skrevet enklere, men når det fungerte så fort så gadd jeg ikke pønske mer på det.

;)

 

Edit: skrivefeil i koden..

Endret av svamp
Lenke til kommentar
  • 3 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...