Centar za edukaciju-BiH



#21 17.03.2011 16:43
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re: sql upit u VBA-modu
Nakaci cijeli kod kad stignes.
Nema zaobilazenja ni izvlacenja.
Nastavljamo veceras drugu smjenu.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#22 17.03.2011 19:19
Zuko Van mreze
Clan
Registrovan od:13.09.2010
Postovi:382


Predmet:Re: sql upit u VBA-modu
evo koda za usporishell
PreuzmiIzvorni kôd (vbnet):
  1. Option Compare Database
  2. Option Explicit
  3.  
  4.    
  5.    
  6.       Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
  7.       Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
  8.       Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  9.    
  10.       Public Const SYNCHRONIZE = &H100000
  11.    
  12.       Public Const INFINITE = -1&
  13.  
  14.       ' Usporava shel
  15.  
  16.       ' to finish, hiding while we wait.
  17.  
  18.       Public Sub UsporiShell(ByVal program_name As String, ByVal window_style As Integer)
  19.  
  20.       Dim process_id As Long
  21.  
  22.       Dim process_handle As Long
  23.      ' Start the program.
  24.      On Error GoTo ShellError
  25.      process_id = Shell(program_name, window_style)
  26.      On Error GoTo 0
  27.  
  28.           ' Wait for the program to finish.
  29.  
  30.          ' Get the process handle.
  31.  
  32.          process_handle = OpenProcess(SYNCHRONIZE, 0, process_id)
  33.  
  34.           If process_handle <> 0 Then
  35.  
  36.               WaitForSingleObject process_handle, INFINITE
  37.  
  38.               CloseHandle process_handle
  39.  
  40.           End If
  41.  
  42.           Exit Sub
  43.  
  44. ShellError:
  45.  
  46.           MsgBox "Error starting task " & _
  47.             " program_name & vbCrLf " & _
  48. " Err.Description , vbOKOnly Or vbExclamation, " & _
  49.                 "Error"
  50.         End Sub
a ovo je sa dugmeta na formi

PreuzmiIzvorni kôd (vbnet):
  1. Private Sub Command7_Click()
  2. Dim g As Integer, d As String, Mjesec1 As String, firma As String, ime As String
  3. g = Year(Now())
  4. firma = DLookup("[Statisticki broj]", "tpreduzece", "Sifra_preduzeca = " & Forms!test!SifraFirme)
  5. d = Len(Forms!test!Mjesec1)
  6. If d = 1 Then
  7. Mjesec1 = "0" & Right(Str(Forms!test!Mjesec1), 1)
  8. Else
  9. Mjesec1 = Str(Forms!test!Mjesec1)
  10. End If
  11. ime = firma & "_" & Mjesec1 & g
  12. UsporiShell Db_Putanja & "\" & pkzip.exe & "  " & ime & ".zip " & Db_Putanja & "\" & ime & ".xml", vbHide
  13. 'UsporiShell putanjafajla & "\pkzip " & PutZipa & "\" & ImeFajla & ".zip " & PutZapisa, vbHide
  14. End Sub


ovdje sam pravio ime file-a, valjda je to ok
Pozdav,

Nedim
Ovaj post je ureden 1 puta. Posljednja izmjena 17.03.2011 19:21 od strane nzuko. ↑  ↓

#23 17.03.2011 20:15
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re: sql upit u VBA-modu
Opsti oblik:
UsporiShell PutanjaappZipa & "\pkzip " & Util.PutZipaZipa & "\" & ImeFajla & ".zip " & PutZapisaFilea, vbHide

da pretpostavimo da ti je sve na jednom jestu i mdb i xml i pkzip exe.
Sto znaci da se sve nalazi na putanji Db_Putanja.
To je procedura koja nalazi putanju mdb.
--------------------------------------------------
-----------
firma = DLookup("[Statisticki broj]", "tpreduzece", "Sifra_preduzeca = " & Forms!test!SifraFirme)

U firma imas dimo imena filea
Cijelo ime:
Dim Ime filea
ImeFilea=firma & & mjesec1
Dim app_Path

app_Patth=Db_Putanja
Znaci sad u app_path imas putanju do dir gdje se sve nalazi.
i sad sve da sklopimo:
UsporiShell app_path & "pkzip " & app_path & ImeFajla & ".zip " & app_path & ImeFajla & ".XML" , vbHide
To bi u shelu izgledalo ovako ako se to napr nalazi na putanji C:\Mojabaza
C:\Mojabaza\pkzip C:\Mojabaza\pojeime.zip C:\Mojabaza\mojeime.xml
ovo trebas dobiti.

Provejri samo sta ti vraca procedura db_Putanja
jeli vraca:
C:\Mojabaza
ili
C:\Mojabaza\
ako vraca ovo drugo onda je ok.
A ako vraca prvo onda trebas jos dodati izmedju \
Ali prvo provjeri.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#24 17.03.2011 21:38
Zuko Van mreze
Clan
Registrovan od:13.09.2010
Postovi:382


Predmet:Re: sql upit u VBA-modu
Db_putanja vraća ovo drugo, ali opet neće javlja istu gresku.
Evo zakaćio sam bazu pa ako mozes pogledati, usporishell se nalazi umodulu pakovanje
Pozdav,

Nedim
↑  ↓

#25 17.03.2011 22:37
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re: sql upit u VBA-modu
tako je kad na vrhu modula nemas ono

Option explicit
a lose kucas ko i ja mozda samo niansu bolje.
Citat:
Dim app_Path
app_Patth = Db_Putanja
imefajla = firma & "_" & Mjesec1 & g
UsporiShell app_Path & "pk

app_path i
appPatth

ma dobro samo jedno t viska.

To je jedna stvar a druga je sto shell ne podrzava ime filea vece od 8 karaktera a ko je vece ime onda se pise napr. 1234567789.xml--->123456~1.xml
123456~1-->ukupno 8 karaktera
ako imas 2 filea koji naprimjer imaju imena:
1234567890.xml
1234567899.xml
onda ce se prvi zbvati
123346~1.xml
a drugi
123456~2.xml
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#26 17.03.2011 22:48
Zuko Van mreze
Clan
Registrovan od:13.09.2010
Postovi:382


Predmet:Re: sql upit u VBA-modu
hvala na pomoci, a ovo o kucanju si upravu kad sam radio na xml na validaciji sam imao najvise gresaka u kucanju pa mu fali nedi dio nije otvoren ili zatvoren.

puno hvala još jednom
Pozdav,

Nedim
↑  ↓

#27 01.04.2011 12:12
edo_ze Van mreze
Clan
Registrovan od:23.12.2010
Postovi:6


Predmet:Re: sql upit u VBA-modu
@nzuko

u recordsetu ne smiješ davati ovakav uslov

WHERE (((TLD.Mjesec)=[forms]![test]![mjesec1]) AND ((Tradnik.Sifra_Preduzeca)=[forms]![test]![sifrafirme]))

za izvršnu SQL naredbu može ali za setovanje recordseta ide ovako:

WHERE (((TLD.Mjesec)=" & [forms]![test]![mjesec1] & ") AND ((Tradnik.Sifra_Preduzeca)=" & [forms]![test]![sifrafirme]& "))

ili ako su alfanumeričke vrijednosti:

WHERE (((TLD.Mjesec)='" & [forms]![test]![mjesec1] & "') ...

ima apostrof (') prije i li poslije navodnika
↑  ↓

Stranice (3):1,2,3


Sva vremena su GMT +01:00. Trenutno vrijeme: 6: 18 pm.