Avatar billede jobb Nybegynder
08. december 2003 - 21:07 Der er 5 kommentarer og
1 løsning

Tom Database

Er det muligt at tjekke om en data base er tom eller på anden vis om en tabel er tom eller om en celle er tom.
Det skal være sådanne så hvis tabellen 1 "kat" er tom skal den ikke lave fejl i den men hoppe videre til tabel 2 "titel" og hvis 2 er tomt skal den hoppe ud af lykken.

'Loader maindvdliste data
Dim tmp1 As String
Dim tmp As String
Dim rs As ADODB.Recordset
Dim rs1 As ADODB.Recordset
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set rs1 = New ADODB.Recordset
'Åbner forbindelse til Databasen
tmp = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\liste.mdb;Persist Security Info=False"
cn.Open tmp

'definere records fra tabellen TABEL
rs1.Open "Select distinct kat from liste WHERE list= '" & Combo2.Text & "'", cn, adOpenDynamic, adLockOptimistic
While Not rs1.EOF
If Not IsNull(rs1("kat").Value) Then
  tmp1 = rs("kat")
  Combo1.AddItem tmp1
End If
rs1.MoveNext
Wend

'definere records fra tabellen TABEL
rs.Open "Select * from liste WHERE list= '" & Combo2.Text & "'", cn, adOpenDynamic, adLockOptimistic
rs.MoveFirst
Do Until rs.EOF
titelliste.AddItem rs("nr") & vbTab & rs("titel")
rs.MoveNext
Loop


Venlig hilsen Jobb
Avatar billede martin_moth Mester
09. december 2003 - 09:08 #1
Find ud af om en tabel er tom:

Indlæs i recordset Select * form tabelnavn...

If rs.eof then msgbox "Recordset er tomt"

Når du læser ind i et recordset, stiller den sig automatisk ved første post - hvis EOF er opfyldt ved første post er det fordi der ingen poster er...
Avatar billede martin_moth Mester
09. december 2003 - 09:27 #2
Øhh - nu kikkede jeg lige på din kode. Du tjekker jo selv om tabeller og felter er tomme. Så du stiller et spørgsmål og viser en kode, hvor koden så vidt jeg kan se tager højde for det du spørger om?

Prøv lige at sige hvad du mener der ikke virker i din kode...
Avatar billede jobb Nybegynder
09. december 2003 - 19:21 #3
If Not IsNull(rs1("kat").Value) Then
  tmp1 = """"" rs("kat") """"" = """"" rs1("kat") """""
  Combo1.AddItem tmp1
End If
rs1.MoveNext
Jeg har fundet fejlen jeg har bare siddet for længe over problemet og så stiret mig blind sorry!
Men jeg vil godt have svar på noget andet?
hvis jeg skriver noget i text1 hvordan får jeg den til at hoppe over i list1 og makere det "hvis text1 = list1 så makere det i listen"
Avatar billede martin_moth Mester
09. december 2003 - 20:23 #4
Du looper gennem listen og tjekker om indholdet er lig text1 - hvis det er markerer du det pågældende item i list1

for i = 0 to list1.listcount -1
  if text1.text = list1.list(i) then
    list1.selected(i) = true
  end if
next i
Avatar billede martin_moth Mester
09. december 2003 - 20:24 #5
Hvis det kan ske at flere items opfylder at de er lig text1.text, så vil ovenstående kun markere det sidste - med mindre du sætter multiselect = true
Avatar billede jobb Nybegynder
11. december 2003 - 19:41 #6
Jeg takker mange gange det virkede som det skal.
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