Hejsan.. Hej, min undran är: vad är databasen gjord av? en textfil eller en ".mdb"-fil eller vad? Han gjorde den i VisData skrev han . BRA Hej Tackar Tobbe <b>Han gjorde den i VisData skrev han . BRA Jag skapade dom i mdb för att kunna i framtiden använda dom program som jag har gjort i access... En kommentar bara, det är inga problem att skapa tabeller och frågor i databasen från access som du sedan använder i VB. Du behöver alltså inte designa databasen i VisData vilket iaf jag tycker är ett bökigare program än Access. jo men att skapa ett formulär som kör mot databasen och hur man skriver coden där jag kör fast därför så använder jag VisData då den skriver coden i formuläret.. Dom tipps som finns är oftast sql baserat eller väldigt välskrivna.. Söker ett änkelt sätt att skapa forumär till databas.. Om man genererar ett formulär som jobbar mot en databas i VisData så fungerar det bra, men hur gör man ifall man har en listbox som ska hämta ett felt.. Hej ! Du har inget exempel som man kan ladda ner. Får det inte att fungera.. Jag har löst felet.. Du kan använda:skapar en databas
Jag har gjort en databas i VisData och låtit detta pogram generera ett formulär åt mig. cdnamn, innehåll, antal cd skivor.
Vet att det är fusk, men som amatör så måste man börja någonstans...
Nu har jag en listbox i formuläret.
jag vill att alla cdnamn ska synas i listboxen och
när man klickar på ett namn i listboxen så ska han hämta posten och lägga in det i formuläret ... i textboxarna.
Tyvär så är alla kurser i att skapa databaser så innehållsrika och oftas sql bundet. Vill bara försöka skapa en enkel databas så jag kan skriva in minna cd skivor...
//
Taksam för hjälp...Sv: skapar en databas
Sv: skapar en databas
Benny om du inte vill göra bort dig för mycket, så ligg lågt och lär.
/SvenSv: skapar en databas
Detta ex kan du studera det fyller viseligen en Listview och adress register som jag gort
med det är bara att ändra namn på tabell och fältnamn
Form
Private Sub CboTele_Click()
On Error GoTo err:
MousePointer = vbHourglass
lsvTelefon.ListItems.clear
Dim ObjLsv, i
Dim dbs As Database
Dim rs As Recordset
Dim vntTemp
Set dbs = OpenDatabase( App.Path & "Databasensnam", False, False, _
";pwd=data@wd")
Set rs = dbs.OpenRecordset("select ID, Företag, Namn from TeleAdress WHERE Namn LIKE '" & CboTele.Text & "*'", dbOpenSnapshot)
Do Until rs.EOF
' Adderar posterna till ListView-kontrollen
Set ObjLsv = lsvTelefon.ListItems.Add()
ObjLsv.Text = rs.Fields("Id").Value & vbNullString
ObjLsv.SubItems(1) = rs.Fields("Företag").Value & vbNullString
ObjLsv.SubItems(2) = rs.Fields("Namn").Value & vbNullString
Set ObjLsv = Nothing
rs.MoveNext
Loop
lsvTelefon.SetFocus
rs.Close
Set rs = Nothing
dbs.Close
Set dbs = Nothing
MousePointer = vbNormal
Exit Sub
err:
MsgBox err.number & ": " & err.Description & ": " & err.Source
Call PrintLog("Error" & Date & " - " & "Form5.CboTele" & " - " & err.number & ": " & err.Description & ": " & err.Source)
CboTele.SetFocus
MousePointer = vbNormal
Exit Sub
End Sub
Ock för att klicka i listview samt visa data i textboxar
Private Sub click()
On Error GoTo err:
Dim dbs As Database
Dim rs As Recordset
MousePointer = vbHourglass
Set dbs = OpenDatabase(LblData2.Caption, False, False, _
";pwd=data@wd")
Set rs = dbs.OpenRecordset("select Id, Företag, Namn,Adress,Postnummer, postadress, telefon1, telefon2, fax1, fax2, mobil1,mobil2, email1, email2 from TeleAdress where ID =" & lsvTelefon.SelectedItem.Text, dbOpenSnapshot)
Do While Not rs.EOF
txtId.Text = rs!Id
Text2(0).Text = rs.Fields("företag").Value & vbNullString
Text2(1).Text = rs.Fields("Namn").Value & vbNullString
Text2(2).Text = rs.Fields("Adress").Value & vbNullString
Text2(3).Text = rs.Fields("Postnummer").Value & vbNullString
Text2(4).Text = rs.Fields("Postadress").Value & vbNullString
Text2(5).Text = rs.Fields("Telefon1").Value & vbNullString
Text2(6).Text = rs.Fields("Telefon2").Value & vbNullString
Text2(7).Text = rs.Fields("Fax1").Value & vbNullString
Text2(8).Text = rs.Fields("Fax2").Value & vbNullString
Text2(9).Text = rs.Fields("Mobil1").Value & vbNullString
Text2(10).Text = rs.Fields("Mobil2").Value & vbNullString
Text2(11).Text = rs.Fields("Email1").Value & vbNullString
Text2(12).Text = rs.Fields("Email2").Value & vbNullString
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
dbs.Close
Set dbs = Nothing
MousePointer = vbNormal
Exit Sub
err:
MsgBox err.number & ": " & err.Description & ": " & err.Source
Call PrintLog("Error" & Date & " - " & "Form5.Click" & " - " & err.number & ": " & err.Description & ": " & err.Source)
lsvTelefon.SetFocus
MousePointer = vbNormal
Exit Sub
End Sub
Hoppas något kommer till användning
Mvh
TobbeSv: skapar en databas
för coden. Ska titta på den..
Ifall dom hadde ett poeng system så skulle detta värkligen vara värt ett poeng...Sv: skapar en databas
Benny om du inte vill göra bort dig för mycket, så ligg lågt och lär.
/Sven</b>
Eftersom man kan skapa Access-, Dbase-, FoxPro-, Paradox- och textfils-databaser med VisData är det en mycket relevant fråga!
"Sven, om du inte vill göra bort dig för mycket, så ligg lågt och lär" ;-)
/JohanSv: skapar en databas
Jobbat mycke i access och gjort mycket databaser där. Men problemet är att man måste ha access i dom datorer som ska köra databaserna och kul att göra ett program och ha access i bakgrunden som fyller hela skärmen. Så därför så tänkte jag att jag kunde gå över till vb och göra dom databaser lite mera användar trevliga.Sv: skapar en databas
/JohanSv: skapar en databas
Det är inte pga lathet utan bristande kunskap i vb.Sv: skapar en databas
Ex: Jag vill att alla namn i databasen ska visas i listboxen och om jag klickar på ett namn så ska den hämta dom uppgifterna.
eller ifall någon har ett exempel som man kan titta på koden..
två fält eller mer, en listbox som hämtar från fält1 och att man även kan hämta uppgifter ifrån.
behöver inte vara något avanserat adressregister utan detta är endast i inlärningssyfte.Sv: skapar en databas
En kod utan SQL. Kanske lite klumpig men den fungerar.
En listbox list1 och ett textfält text1.
En databas med en tabell som innehåller namn och telefon.
Man måste sätta referenser till Microsoft DAO 3.51 Object Library och/eller Microsoft AktiveX Data Objects 2.1 Library (Har jag för mig)
mvh
Carl Johan Eriksson
<code>
Private Sub Form_Load()
Dim dbs As Database
Dim rst As Recordset
Set dbs = OpenDatabase("Databas")
Set rst = dbs.OpenRecordset("Tabell")
With rst
For i = 1 To rst.RecordCount
List1.AddItem !namn
rst.MoveNext
Next i
End With
dbs.Close
End Sub
Private Sub List1_Click()
Dim dbs As Database
Dim rst As Recordset
Set dbs = OpenDatabase("Databas")
Set rst = dbs.OpenRecordset("Tabell")
With rst
For i = 1 To rst.RecordCount
If !namn = List1.List(List1.ListIndex) Then
Text1.text = !telefon
Exit For
End If
rst.MoveNext
Next i
End With
dbs.Close
End Sub
</code>Sv: skapar en databas
Troligtvis något annat fel som jag gör.Sv: skapar en databas
men nu är det ett annat fel
<code>
Private Sub Form_Load()
Dim dbs As Database
Dim rst As Recordset
Set dbs = OpenDatabase("D:\visual basic blandat\projekt\cd-reg22\cd-reg2\db\CdReg3.mdb")
Set rst = dbs.OpenRecordset("tab_cd_spel_info_tabell")
With rst
For i = 1 To rst.RecordCount
List1.AddItem !Spel
rst.MoveNext
Next i
End With
dbs.Close
End Sub
</code>
<code>
Private Sub List1_Click()
Dim dbs As Database
Dim rst As Recordset
Set dbs = OpenDatabase("D:\visual basic blandat\projekt\cd-reg22\cd-reg2\db\CdReg3.mdb")
Set rst = dbs.OpenRecordset("tab_cd_spel_info_tabell")
With rst
For i = 1 To rst.RecordCount
If !Spel = List1.List(List1.ListIndex) Then
text1.Text = !Spel
Text2.Text = !plasering
Text3.Text = !antalsk
Exit For
End If
rst.MoveNext
Next i
End With
dbs.Close
End Sub
</code>
Nu är det så att ifall det fattas en post i något av ovanstående ämnen så
blir det "Invalid use of null"
det kan vara så att man glömt fylla i ex antalsk
Hur löser jag det?Sv: skapar en databas
<code>
Private Sub List1_Click()
Dim dbs As Database
Dim rst As Recordset
Set dbs = OpenDatabase("D:\visual basic blandat\projekt\cd-reg22\cd-reg2\db\CdReg3.mdb")
Set rst = dbs.OpenRecordset("SELECT * FROM tab_cd_spel_info_tabell WHERE Spel = '" & Replace(List1.List(List1.ListIndex), "'", "''") & "'")
If rst.EOF Then
MsgBox "Posten finns inte!"
Else
text1.Text = "" & rst("Spel")
Text2.Text = "" & rst("plasering")
Text3.Text = "" & rst("antalsk")
End If
dbs.Close
End Sub
</code>