Avatar billede gigaload Nybegynder
21. juni 2002 - 20:07 Der er 22 kommentarer og
1 løsning

¨Brug af database

Disse spørgsmål, er bare ja eller nej.

Jeg er ved at lave et program, som skal kunne bruges sammen med en database som ligger på nettet.
Er det muligt at få den til at udfylde nogle felter i databasen?
Er det muligt at få den til at list posterne i databasen, i et text felt med multilines???

håber på at få 2 hurtige svar
Avatar billede terry Ekspert
21. juni 2002 - 20:21 #2
Avatar billede terry Ekspert
21. juni 2002 - 20:21 #3
and another
http://www.learnasp.com/freebook/learn/index.aspx

you should have enough to get you going!
Avatar billede gigaload Nybegynder
21. juni 2002 - 20:37 #4
I know ASP!!!
Avatar billede tubber Juniormester
21. juni 2002 - 20:38 #5
Det nemmeste er nu at bruge de datakontroller der er i VB (skal lige siges jeg ikke selv har brugt dem, da jeg mener man har bedre kontrol over det med SQL), men de er nemt tilgængelige for begyndere.....

Ved brug af SQL (lige et lille eksempel)......

'Først skal der laves en reference
'du skal tilføje referencen MS DAO 3.51
'(hvis du har office XP så MS DAO 3.6)

'Dimensionering af workspace og recordset
Dim ws As Workspace
Dim db As Database
Dim rs As Recordset

Private Sub Form_Load()
Set ws = Workspaces(0)

'data.mdb er databasenavnet
Set db = ws.OpenDatabase(App.Path & "\data.mdb")

'data er tabelnavnet inde i databasen
Set rs = db.OpenRecordset("SELECT * FROM data")

'Følgende rutine smidder data fra databasen ind i en combobox
If Not rs.EOF Then
    rs.MoveFirst
    Do While Not rs.EOF
        Combo1.AddItem rs!navn
        rs.MoveNext
    Loop
End If
End Sub

'Følgende kode fylder tekstfelter ud fra valg i comboboxen
Private Sub Combo1_Click()
Set ws = Workspaces(0)
Set db = ws.OpenDatabase(App.Path & "\adressebog.mdb")
Set rs = db.OpenRecordset("SELECT * FROM adressebog")
rs.MoveFirst
Do While rs.EOF = False
    If rs!navn = Combo1.Text Then
            Text1.Text = rs!adresse
            Text2.Text = rs!postnr
            Text3.Text = rs!minBy
            Text4.Text = rs!land
            Text5.Text = rs!tlf
            Text6.Text = rs!mobil
            Text7.Text = rs!email
    End If
rs.MoveNext
Loop
End Sub
Avatar billede tubber Juniormester
21. juni 2002 - 20:42 #6
Bruger du SQL er det samme måde som ASP altså med at indsætte data i tabellerne osv.....

altså du kan bruge:
Select
Delete
Update
Insert
Avatar billede gigaload Nybegynder
21. juni 2002 - 20:45 #7
det vil sige, at jeg i realiteten bare skal skrive det som ASP??
Avatar billede gigaload Nybegynder
21. juni 2002 - 20:47 #8
nu er det jo ikke kombo boxe jeg bruger, men Text bare med flere linier...
Avatar billede gigaload Nybegynder
21. juni 2002 - 20:50 #9
tubber -> du gav mig denne kode, men hvordan definere jeg at databasen ligger på en server, og programmet er hos brugeren?
Avatar billede gigaload Nybegynder
21. juni 2002 - 20:59 #10
hovsa.. glemte at taste koden...
Set db = ws.OpenDatabase(App.Path & "\data.mdb")
Avatar billede tubber Juniormester
21. juni 2002 - 21:28 #11
Går ud fra det er på et lokalnet....
Set db = ws.OpenDatabase("\\servernavn\sharenavn\databasenavn.mdb")

Ja faktisk som i asp........
og ja jeg vidste ikke hvad du brugte, men det er på samme måde som med en combobox, og skal du sætte et linieskift ind, kan du når du sætter ind tælle karatere, og sige hver gang der er indsat 100 så sættes der en chr$(13) ind så kan du tvinge linieskift ind, ellers er det bare skrive der ud af.......
Avatar billede tubber Juniormester
21. juni 2002 - 21:31 #12
eller skal hver record ind med en ny linie så sætter du på følgende måde:

If Not rs.EOF Then
    rs.MoveFirst
        Text1.text = rs!navn
    rs.movenext
    Do While Not rs.EOF
        Text1.text = text1.text + chr$(13) + rs!navn
        rs.MoveNext
    Loop
End If
Avatar billede gigaload Nybegynder
21. juni 2002 - 21:33 #13
det er ikke et lokalt netwerk, den ligger på en server... kommer til at ligge på friserverplads.dk
Avatar billede tubber Juniormester
21. juni 2002 - 21:44 #14
Er det for at have en nem måde at opdatere databasen på en ASP side ?
Jeg vil tro du skal gøre det via ftp....
er ikke sikker men vil tro det er noget nær sådan her :

Set db = ws.OpenDatabase("www.friserverplads.dk/databasenavn.mdb"" target="_blank">ftp://brugernavn:password@www.friserverplads.dk/databasenavn.mdb")

men ovenstående er jeg ikke helt sikker på......
Avatar billede tubber Juniormester
21. juni 2002 - 21:45 #15
hov skulle have været udkommenteret.........linket virker jo nok ikke hehe
Avatar billede gigaload Nybegynder
21. juni 2002 - 22:08 #16
Det er for ikke at lave en ASP side. så ville det være nemmere at åbne programmet, og opdatere database derfra...
Avatar billede terry Ekspert
22. juni 2002 - 08:42 #17
Avatar billede terry Ekspert
22. juni 2002 - 08:49 #18
Normally you will be given a logical driv efor your web site.

Dim Conn, dbPath
  dbPath = "d:\myaccessfile.mdb"
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath
Avatar billede tubber Juniormester
22. juni 2002 - 12:49 #19
Set db = ws.OpenDatabase("http://www.friserverplads.dk/databasenavn.mdb")

det er også en mulighed, men ved ikke hvordan den reagere med brugernavn og password.....
Avatar billede gigaload Nybegynder
22. juni 2002 - 13:10 #20
jeg prøver mig frem... men du får pointene for gode svar :D
Avatar billede tubber Juniormester
22. juni 2002 - 13:11 #21
Ellers er der en alternativ løsning.......

Den løsning går ud på du arbejder på din egen maskine, og når du er færdig så uploader den databasen via ftp...
Hvis du ikke kan/vil kode en ftp adgang er der jo mulighed for at bruge den der er i dospromten.....

Den kan kører automatisk, og exekveres ved en shell......

Shell("ftp -s:filnavn.txt host"), vbHide

det filnavn der er efter -s er en textfil der indeholder de ting den skal udfører automatisk, altså :
  Login
  Password
  Finde biblotek
  Uploade fil

du kan læse om det her:

Transfers files to and from a computer running an FTP server service
(sometimes called a daemon). Ftp can be used interactively.

FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [-A] [host]

  -v            Suppresses display of remote server responses.
  -n            Suppresses auto-login upon initial connection.
  -i            Turns off interactive prompting during multiple file
                transfers.
  -d            Enables debugging.
  -g            Disables filename globbing (see GLOB command).
  -s:filename    Specifies a text file containing FTP commands; the
                commands will automatically run after FTP starts.
  -a            Use any local interface when binding data
                connection.
  -A            login as anonymous.
  -w:buffersize  Overrides the default transfer buffer size of 4096.
  host          Specifies the host name or IP address of the remote
                host to connect to.

commandoer når du er logget på:

Commands may be abbreviated.  Commands are:

!              delete          literal        prompt          send
?              debug          ls              put            status
append          dir            mdelete        pwd            trace
ascii          disconnect      mdir            quit            type
bell            get            mget            quote          user
binary          glob            mkdir          recv            verbose
bye            hash            mls            remotehelp
cd              help            mput            rename
close          lcd            open            rmdir
Avatar billede tubber Juniormester
22. juni 2002 - 13:12 #22
takker for pointene :O)
Avatar billede tubber Juniormester
22. juni 2002 - 22:54 #23
Der er også den mulighed at kigge på noget RDS - det er dog ikke noget jeg har check på.....
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
Kurser inden for grundlæggende programmering

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