Centar za edukaciju-BiH



#1 24.02.2016 17:07
kenan Van mreze
Clan
Registrovan od:10.02.2011
Postovi:191


Predmet:provjera dali postoji tabela u bazi
Pozdrav

htio bih da napravim provjeru da li je određena tabela kreirana odnono dali postoji i naÅ¡ao sam neÅ¡to na netu al nikako da mi proradi
ako neko može da mi kaže gdje griješim odnosno šta sam fulio

ovo je funkcija koja ide posebno i koja bi trebala da ocita sve tabele u bazi
Function TableExist(TableName As String) As Boolean
Dim Db As Database
Dim tbl As Recordset

On Error GoTo TableExistError

Set Db = CurrentDb
Set tbl = Db.OpenRecordset(TableName)
TableExist = True

Set tbl = Nothing

GoTo tableEnde

TableExistError:
TableExist = False
Set tbl = Nothing
GoTo tableEnde
tableEnde:
End Function

poziv u drugoj funkciji sa uslovom

If TableExists("posebni_podaci_o_placama") = True Then GoTo Kraj Else Exit Function
↑  ↓

#2 24.02.2016 19:18
dex Van mreze
Super Moderator
Registrovan od:23.02.2012
Postovi:625


Predmet:Re: provjera dali postoji tabela u bazi
Funkcija savrseno radi, odnosno vraca vrednost true ili false u zavisnosti od toga da li tabela postoji. Pitanje je sta zelis i kako radi funkcija iz kojeje pozivas
↑  ↓

#3 24.02.2016 19:28
kenan Van mreze
Clan
Registrovan od:10.02.2011
Postovi:191


Predmet:Re: provjera dali postoji tabela u bazi
to sam i ja testirao i radi ali kada stavim u nekoj drugoj funkciji da mi provjeri odnosno preskoči dalje tu ne odradi posao dokraja nego nastavi i onda na "zavrsi:" nastavi kao da uslov ne postoji ne kontam gdje grijeÅ¡im

i kad pokrene izvrÅ¡enje u "zavrsi:" normalno funkcija stane jer nemože otvoriti nepostoječi recorset

evo cijela funkcija

Function UvozPP()
Dim i As Integer
Dim RS1, rs2

SQLProvjera = "SELECT [T sintetika].aop FROM [T sintetika] WHERE ((([T sintetika].godina)=" & godina & ") AND (([T sintetika].period)='" & OP & "') AND (([T sintetika].firma)=" & Firma & ") AND "
SQLProvjeraBS = "(([T sintetika].VR)='PP')) GROUP BY [T sintetika].aop;"
Set PROVJERA = CurrentDb().OpenRecordset(SQLProvjera & SQLProvjeraBS)
If PROVJERA.RecordCount = 0 Then
'Posebni podtci
Set rs = CurrentDb().OpenRecordset("T sintetika")
With rs
For lng = 901 To 915
.AddNew
!aop = lng
![Predhodna godina] = 0
!godina = godina
!period = OP
!Firma = Firma
!VR = "PP"
.Update
Next lng
End With
rs.Close
Set rs = Nothing
If fExistTable("posebni_podaci_o_placama") = True Then GoTo zavrsi Else Exit Function
Else
If fExistTable("posebni_podaci_o_placama") = True Then GoTo zavrsi Else Exit Function
End If

zavrsi:
i = 901
Do While i < 916
Set rs2 = CurrentDb().OpenRecordset("select * from posebni_podaci_o_placama where id=" & i & ";")
Set RS1 = CurrentDb().OpenRecordset("select * from [T sintetika] where firma=" & rs2!Firma & " and godina=" & rs2!godina & " and period='" & rs2!ObracinskiPeriod & "' and vr='PP' and aop=" & i & ";", dbOpenDynaset, dbSeeChanges) 'Netreba uslov ovde se samo upisuje
i = i + 1
RS1.Edit
RS1![Predhodna godina] = rs2!tekuca_godina
RS1.Update
Loop
End Function
↑  ↓

#4 24.02.2016 19:37
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: provjera dali postoji tabela u bazi
dodaj izmedzu Loop i End Function Exit Function

PreuzmiIzvorni kôd (Visual Basic):
  1. Loop
  2. Exit Function
  3. End Function
↑  ↓

#5 24.02.2016 19:41
kenan Van mreze
Clan
Registrovan od:10.02.2011
Postovi:191


Predmet:Re: provjera dali postoji tabela u bazi
Posluša savjet al opet isto se dešava još koja ideja
↑  ↓

#6 24.02.2016 19:57
dex Van mreze
Super Moderator
Registrovan od:23.02.2012
Postovi:625


Predmet:Re: provjera dali postoji tabela u bazi
kod mene ovo radi (nisam ulazio u tacnost dela zavrsi)

PreuzmiIzvorni kôd (vbnet):
  1. If TableExist("posebni_podaci_o_placama") Then
  2. GoTo zavrsi
  3.  
  4. Else
  5. Exit Sub
  6.  
  7. End If
  8.  
  9. zavrsi:
  10. i = 901
  11. Do While i < 916
  12. Set rs2 = CurrentDb().OpenRecordset("select * from posebni_podaci_o_placama where id=" & i & ";")
  13. Set RS1 = CurrentDb().OpenRecordset("select * from [T sintetika] where firma=" & rs2!Firma & " and godina=" & rs2!godina & " and period='" & rs2!ObracinskiPeriod & "' and vr='PP' and aop=" & i & ";", dbOpenDynaset, dbSeeChanges) 'Netreba uslov ovde se samo upisuje
  14. i = i + 1
  15. RS1.Edit
  16. RS1![Predhodna godina] = rs2!tekuca_godina
  17. RS1.Update
  18. Loop
  19. End Sub
↑  ↓

#7 24.02.2016 19:58
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Postovi:1,828


Predmet:Re: provjera dali postoji tabela u bazi
Sta je ovo
PreuzmiIzvorni kôd (Visual Basic):
  1. If fExistTable("posebni_podaci_o_placama") = True Then GoTo zavrsi Else Exit Function
  2. Else
  3. If fExistTable("posebni_podaci_o_placama") = True Then GoTo zavrsi Else Exit Function
  4. End If

zasto ti tebaju dva isti ifovi
dane slucajno treba da bude:
PreuzmiIzvorni kôd (Visual Basic):
  1. If fExistTable("posebni_podaci_o_placama") = True Then
  2.    GoTo zavrsi
  3. ElseIf fExistTable("posebni_podaci_o_placama") = false Then
  4.    Exit Function
  5. End If
↑  ↓

#8 24.02.2016 20:22
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: provjera dali postoji tabela u bazi
PreuzmiIzvorni kôd (Visual Basic):
  1. Function ImalTabele(ImeTabele As String) As Boolean
  2. '*******************************************
  3. '*Ime:ImalTable (Function)
  4. '*Sadržaj:Provjerava dali postoji tavela
  5. '*Autor:     ZXZ
  6. '*Datum:      02 24, 2016, 07:15:14
  7. '*Adresa: Tuzla BiH
  8. '*Email:     zxz@icentar.ba
  9. '*Ulazni parametri:Ime tabele
  10. '*Izlazni parametri:
  11. '*Vraa vrijednost:True ili false
  12. '*******************************************
  13.  
  14. Dim Db As DAO.Database
  15. Dim Tdf As DAO.TableDef
  16.  
  17. Set Db = CurrentDb()
  18.  
  19. For Each Tdf In Db.TableDefs
  20. If Tdf.Name = ImeTabele Then
  21. ImalTabele = True
  22. Exit For
  23. End If
  24. Next Tdf
  25.  
  26. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#9 24.02.2016 20:23
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,612


Predmet:Re: provjera dali postoji tabela u bazi
Uf nisam ni vidio da vec ima dva posta.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 24.02.2016 20:30
kenan Van mreze
Clan
Registrovan od:10.02.2011
Postovi:191


Predmet:Re: provjera dali postoji tabela u bazi
možel se ovako pozvati

If ImalTabele("posebni_podaci_o_placama") = True Then GoTo zavrsi Else Exit Function
↑  ↓

Stranice (2):1,2


Sva vremena su GMT +02:00. Trenutno vrijeme: 12: 00 pm.