title: dove trovare font per barcode?

author: Maurizio S

text:
"Fabrizio yQy" <
yqy_...@yahoo.it
> ha scritto nel messaggio
news:1157980903....@e3g2000cwe.googlegroups.com...

Scarica la routine  bcodesub.zip che trovi su questo link:
http://www.it-lang-vb.net/archivio.asp?pag=54&info=yes
Contiene vari tipi di barcode.
Per farla funzionare in access copiala in modulo e modificala come l'esempio
del codice 128 sotto riportato
All'inizio ho riportato anche il funzionamento.
(il codice 128 non è leggibile da tutti i lettori quindi usa il codice a te
più adatto)
Ciao
Maurizio S.
Function MB_128(Ctrl, sx, sy, mx, my, R As Report)
    'Funzione modificata da Maurizio S
    'Ctrl E' il controllo collegato al codice all'interno del Report
    'sx, sy sono le coordinate di inzio del codice
    'mx, my sono la larghezza e l'altezza del codice
    'R è il nome del report
    'Inserire la seguente funzione all'interno del Report (nell'azione su
stampa):
    'Private Sub Corpo_Print(Cancel As Integer, PrintCount As Integer)
    'Call MB_128(Report_Report1.codi, 20, 20, 7000, 1500, Report_Report1)
    'End Sub
'Dichiarazione delle variabili
Dim check_digit As Integer, i As Integer
Dim mod_width As Single
Dim barcode As String
Dim length As Integer
Dim code As String
'variabili inserite da Maurizio S
    Dim Color
    Dim StartPoint
    Dim bar_width
barcode = Ctrl
length = Len(barcode)
If length = 0 Then Exit Function
'Determinazione dei caratteri CODE
If length = 0 Then Exit Function
Image = ""
For i = 1 To length
  If Mid$(barcode, i, 1) >= "0" And Mid$(barcode, i, 1) <= "9" Then
    Image = Image & "N"
  Else
    Image = Image & "A"
  End If
Next i
numerici = 0
For i = 1 To Len(Image)
  If Mid$(Image, i, 1) = "N" Then
    numerici = numerici + 1
  Else
    If numerici < 4 Then
      Image = Left$(Image, i - 1 - numerici) & String$(numerici, "A") &
Right$(Image, Len(Image) - i + 1)
      numerici = 0
    Else
      If numerici Mod 2 <> 0 Then
        Image = Left$(Image, i - 2) & "A" & Right$(Image, Len(Image) - i +
1)
        numerici = 0
      End If
    End If
  End If
Next i
If numerici < 4 Then
  Image = Left$(Image, i - 1 - numerici) & String$(numerici, "A") &
Right$(Image, Len(Image) - i + 1)
  numerici = 0
Else
  If numerici Mod 2 <> 0 Then
    Image = Left$(Image, i - 2) & "A" & Right$(Image, Len(Image) - i + 1)
    numerici = 0
  End If
End If
'L'immagine è corretta: calcolo il check_digit
If Left$(Image, 1) = "A" Then
  code = "A"
  check = 104
Else
  code = "N"
  check = 105
End If
peso = 1
numerici = 0
For i = 1 To length
  If Mid$(Image, i, 1) = "A" Then
    numerici = 0
    Select Case Mid$(barcode, i, 1)
      Case " "
        valore = 0
      Case "!"
        valore = 1
      Case Chr$(34)
        valore = 2
      Case "#"
        valore = 3
      Case "$"
        valore = 4
      Case "%"
        valore = 5
      Case "&"
        valore = 6
      Case "'"
        valore = 7
      Case "("
        valore = 8
      Case ")"
        valore = 9
      Case "*"
        valore = 10
      Case "+"
        valore = 11
      Case ","
        valore = 12
      Case "-"
        valore = 13
      Case "."
        valore = 14
      Case "/"
        valore = 15
      Case "0"
        valore = 16
      Case "1"
        valore = 17
      Case "2"
        valore = 18
      Case "3"
        valore = 19
      Case "4"
        valore = 20
      Case "5"
        valore = 21
      Case "6"
        valore = 22
      Case "7"
        valore = 23
      Case "8"
        valore = 24
      Case "9"
        valore = 25
      Case ":"
        valore = 26
      Case ";"
        valore = 27
      Case "<"
        valore = 28
      Case "="
        valore = 29
      Case ">"
        valore = 30
      Case "?"
        valore = 31
      Case "@"
        valore = 32
      Case "A"
        valore = 33
      Case "B"
        valore = 34
      Case "C"
        valore = 35
      Case "D"
        valore = 36
      Case "E"
        valore = 37
      Case "F"
        valore = 38
      Case "G"
        valore = 39
      Case "H"
        valore = 40
      Case "I"
        valore = 41
      Case "J"
        valore = 42
      Case "K"
        valore = 43
      Case "L"
        valore = 44
      Case "M"
        valore = 45
      Case "N"
        valore = 46
      Case "O"
        valore = 47
      Case "P"
        valore = 48
      Case "Q"
        valore = 49
      Case "R"
        valore = 50
      Case "S"
        valore = 51
      Case "T"
        valore = 52
      Case "U"
        valore = 53
      Case "V"
        valore = 54
      Case "W"
        valore = 55
      Case "X"
        valore = 56
      Case "Y"
        valore = 57
      Case "Z"
        valore = 58
      Case "["
        valore = 59
      Case "\"
        valore = 60
      Case "]"
        valore = 61
      Case "^"
        valore = 62
      Case "_"
        valore = 63
      Case "`"
        valore = 64
      Case "a"
        valore = 65
      Case "b"
        valore = 66
      Case "c"
        valore = 67
      Case "d"
        valore = 68
      Case "e"
        valore = 69
      Case "f"
        valore = 70
      Case "g"
        valore = 71
      Case "h"
        valore = 72
      Case "i"
        valore = 73
      Case "j"
        valore = 74
      Case "k"
        valore = 75
      Case "l"
        valore = 76
      Case "m"
        valore = 77
      Case "n"
        valore = 78
      Case "o"
        valore = 79
      Case "p"
        valore = 80
      Case "q"
        valore = 81
      Case "r"
        valore = 82
      Case "s"
        valore = 83
      Case "t"
        valore = 84
      Case "u"
        valore = 85
      Case "v"
        valore = 86
      Case "w"
        valore = 87
      Case "x"
        valore = 88
      Case "y"
        valore = 89
      Case "z"
        valore = 90
      Case "{"
        valore = 91
      Case "|"
        valore = 92
      Case "}"
        valore = 93
      Case "~"
        valore = 94
    End Select
    If code = "N" Then
      check = check + 100 * peso
      peso = peso + 1
      code = "A"
    End If
    check = check + valore * peso
    peso = peso + 1
  End If
  If Mid$(Image, i, 1) = "N" Then
    numerici = numerici + 1
    If numerici Mod 2 = 0 Then
      If code = "A" Then
        check = check + 99 * peso
        peso = peso + 1
        code = "N"
      End If
      cifra = Val(Mid$(barcode, i - 1, 2))
      check = check + cifra * peso
      peso = peso + 1
    End If
  End If
Next i
check = check Mod 103
If Left$(Image, 1) = "A" Then
  code = "A"
  Image2 = "211214"
Else
  code = "N"
  Image2 = "211232"
End If
numerici = 0
For i = 1 To length
  If Mid$(Image, i, 1) = "A" Then
    numerici = 0
    Select Case Mid$(barcode, i, 1)
      Case " "
        carattere = "212222"
      Case "!"
        carattere = "222122"
      Case Chr$(34)
        carattere = "222221"
      Case "#"
        carattere = "121223"
      Case "$"
        carattere = "121322"
      Case "%"
        carattere = "131222"
      Case "&"
        carattere = "122213"
      Case "'"
        carattere = "122312"
      Case "("
        carattere = "132212"
      Case ")"
        carattere = "221213"
      Case "*"
        carattere = "221312"
      Case "+"
        carattere = "231212"
      Case ","
        carattere = "112232"
      Case "-"
        carattere = "122132"
      Case "."
        carattere = "122231"
      Case "/"
        carattere = "113222"
      Case "0"
        carattere = "123122"
      Case "1"
        carattere = "123221"
      Case "2"
        carattere = "223211"
      Case "3"
        carattere = "221132"
      Case "4"
        carattere = "221231"
      Case "5"
        carattere = "213212"
      Case "6"
        carattere = "223112"
      Case "7"
        carattere = "312131"
      Case "8"
        carattere = "311222"
      Case "9"
        carattere = "321122"
      Case ":"
        carattere = "321221"
      Case ";"
        carattere = "312212"
      Case "<"
        carattere = "322112"
      Case "="
        carattere = "322211"
      Case ">"
        carattere = "212123"
      Case "?"
        carattere = "212321"
      Case "@"
        carattere = "232121"
      Case "A"
        carattere = "111323"
      Case "B"
        carattere = "131123"
      Case "C"
        carattere = "131321"
      Case "D"
        carattere = "112313"
      Case "E"
        carattere = "132113"
      Case "F"
        carattere = "132311"
      Case "G"
        carattere = "211313"
      Case "H"
        carattere = "231113"
      Case "I"
        carattere = "231311"
      Case "J"
        carattere = "112133"
      Case "K"
        carattere = "112331"
      Case "L"
        carattere = "132131"
      Case "M"
        carattere = "113123"
      Case "N"
        carattere = "113321"
      Case "O"
        carattere = "133121"
      Case "P"
        carattere = "313121"
      Case "Q"
        carattere = "211331"
      Case "R"
        carattere = "231131"
      Case "S"
        carattere = "213113"
      Case "T"
        carattere = "213311"
      Case "U"
        carattere = "213131"
      Case "V"
        carattere = "311123"
      Case "W"
        carattere = "311321"
      Case "X"
        carattere = "331121"
      Case "Y"
        carattere = "312113"
      Case "Z"
        carattere = "312311"
      Case "["
        carattere = "332111"
      Case "\"
        carattere = "314111"
      Case "]"
        carattere = "221411"
      Case "^"
        carattere = "431111"
      Case "_"
        carattere = "111224"
      Case "`"
        carattere = "111422"
      Case "a"
        carattere = "121124"
      Case "b"
        carattere = "121421"
      Case "c"
        carattere = "141122"
      Case "d"
        carattere = "141221"
      Case "e"
        carattere = "112214"
      Case "f"
        carattere = "112412"
      Case "g"
        carattere = "122114"
      Case "h"
        carattere = "122411"
      Case "i"
        carattere = "142112"
      Case "j"
        carattere = "142211"
      Case "k"
        carattere = "241211"
      Case "l"
        carattere = "221114"
      Case "m"
        carattere = "413111"
      Case "n"
        carattere = "241112"
      Case "o"
        carattere = "134111"
      Case "p"
        carattere = "111242"
      Case "q"
        carattere = "121142"
      Case "r"
        carattere = "121241"
      Case "s"
        carattere = "114212"
      Case "t"
        carattere = "124112"
      Case "u"
        carattere = "124211"
      Case "v"
        carattere = "411212"
      Case "w"
        carattere = "421112"
      Case "x"
        carattere = "421211"
      Case "y"
        carattere = "212141"
      Case "z"
        carattere = "214121"
      Case "{"
        carattere = "412121"
      Case "|"
        carattere = "111143"
      Case "}"
        carattere = "111341"
      Case "~"
        carattere = "131141"
    End Select
    If code = "N" Then
      Image2 = Image2 & "114131"
      code = "A"
    End If
    Image2 = Image2 & carattere
  End If
  If Mid$(Image, i, 1) = "N" Then
    numerici = numerici + 1
    If numerici Mod 2 = 0 Then
      cifra = Val(Mid$(barcode, i - 1, 2))
      Select Case cifra
        Case 0
          carattere = "212222"
        Case 1
          carattere = "222122"
        Case 2
          carattere = "222221"
        Case 3
          carattere = "121223"
        Case 4
          carattere = "121322"
        Case 5
          carattere = "131222"
        Case 6
          carattere = "122213"
        Case 7
          carattere = "122312"
        Case 8
          carattere = "132212"
        Case 9
          carattere = "221213"
        Case 10
          carattere = "221312"
        Case 11
          carattere = "231212"
        Case 12
          carattere = "112232"
        Case 13
          carattere = "122132"
        Case 14
          carattere = "122231"
        Case 15
          carattere = "113222"
        Case 16
          carattere = "123122"
        Case 17
          carattere = "123221"
        Case 18
          carattere = "223211"
        Case 19
          carattere = "221132"
        Case 20
          carattere = "221231"
        Case 21
          carattere = "213212"
        Case 22
          carattere = "323112"
        Case 23
          carattere = "312131"
        Case 24
          carattere = "311222"
        Case 25
          carattere = "321122"
        Case 26
          carattere = "321221"
        Case 27
          carattere = "312212"
        Case 28
          carattere = "322112"
        Case 29
          carattere = "322211"
        Case 30
          carattere = "212123"
        Case 31
          carattere = "212321"
        Case 32
          carattere = "232121"
        Case 33
          carattere = "111323"
        Case 34
          carattere = "131123"
        Case 35
          carattere = "131321"
        Case 36
          carattere = "112313"
        Case 37
          carattere = "132113"
        Case 38
          carattere = "132311"
        Case 39
          carattere = "211313"
        Case 40
          carattere = "231113"
        Case 41
          carattere = "231311"
        Case 42
          carattere = "112133"
        Case 43
          carattere = "112331"
        Case 44
          carattere = "132131"
        Case 45
          carattere = "113123"
        Case 46
          carattere = "113321"
        Case 47
          carattere = "133121"
        Case 48
          carattere = "313121"
        Case 49
          carattere = "211331"
        Case 50
          carattere = "231131"
        Case 51
          carattere = "213113"
        Case 52
          carattere = "213311"
        Case 53
          carattere = "213131"
        Case 54
          carattere = "311123"
        Case 55
          carattere = "311321"
        Case 56
          carattere = "331121"
        Case 57
          carattere = "312113"
        Case 58
          carattere = "312311"
        Case 59
          carattere = "332111"
        Case 60
          carattere = "314111"
        Case 61
          carattere = "221411"
        Case 62
          carattere = "431111"
        Case 63
          carattere = "111224"
        Case 64
          carattere = "111422"
        Case 65
          carattere = "121124"
        Case 66
          carattere = "121421"
        Case 67
          carattere = "141122"
        Case 68
          carattere = "141221"
        Case 69
          carattere = "112214"
        Case 70
          carattere = "112412"
        Case 71
          carattere = "122114"
        Case 72
          carattere = "122411"
        Case 73
          carattere = "142112"
        Case 74
          carattere = "142211"
        Case 75
          carattere = "241211"
        Case 76
          carattere = "221114"
        Case 77
          carattere = "413111"
        Case 78
          carattere = "241112"
        Case 79
          carattere = "134111"
        Case 80
          carattere = "111242"
        Case 81
          carattere = "121142"
        Case 82
          carattere = "121241"
        Case 83
          carattere = "114212"
        Case 84
          carattere = "124112"
        Case 85
          carattere = "124211"
        Case 86
          carattere = "411212"
        Case 87
          carattere = "421112"
        Case 88
          carattere = "421211"
        Case 89
          carattere = "212141"
        Case 90
          carattere = "214121"
        Case 91
          carattere = "412121"
        Case 92
          carattere = "111143"
        Case 93
          carattere = "111341"
        Case 94
          carattere = "131141"
        Case 95
          carattere = "114113"
        Case 96
          carattere = "114311"
        Case 97
          carattere = "411113"
        Case 98
          carattere = "411311"
        Case 99
          carattere = "113141"
      End Select
      If code = "A" Then
       Image2 = Image2 & "113141"
        code = "N"
      End If
      Image2 = Image2 & carattere
    End If
  End If
Next i
'inserisco il check digit e lo stop
Select Case Val(check)
  Case 0
    carattere = "212222"
  Case 1
    carattere = "222122"
  Case 2
    carattere = "222221"
  Case 3
    carattere = "121223"
  Case 4
    carattere = "121322"
  Case 5
    carattere = "131222"
  Case 6
    carattere = "122213"
  Case 7
    carattere = "122312"
  Case 8
    carattere = "132212"
  Case 9
    carattere = "221213"
  Case 10
    carattere = "221312"
  Case 11
    carattere = "231212"
  Case 12
    carattere = "112232"
  Case 13
    carattere = "122132"
  Case 14
    carattere = "122231"
  Case 15
    carattere = "113222"
  Case 16
    carattere = "123122"
  Case 17
    carattere = "123221"
  Case 18
    carattere = "223211"
  Case 19
    carattere = "221132"
  Case 20
    carattere = "221231"
  Case 21
    carattere = "213212"
  Case 22
    carattere = "323112"
  Case 23
    carattere = "312131"
  Case 24
    carattere = "311222"
  Case 25
    carattere = "321122"
  Case 26
    carattere = "321221"
  Case 27
    carattere = "312212"
  Case 28
    carattere = "322112"
  Case 29
    carattere = "322211"
  Case 30
    carattere = "212123"
  Case 31
    carattere = "212321"
  Case 32
    carattere = "232121"
  Case 33
    carattere = "111323"
  Case 34
    carattere = "131123"
  Case 35
    carattere = "131321"
  Case 36
    carattere = "112313"
  Case 37
    carattere = "132113"
  Case 38
    carattere = "132311"
  Case 39
    carattere = "211313"
  Case 40
    carattere = "231113"
  Case 41
    carattere = "231311"
  Case 42
    carattere = "112133"
  Case 43
    carattere = "112331"
  Case 44
    carattere = "132131"
  Case 45
    carattere = "113123"
  Case 46
    carattere = "113321"
  Case 47
    carattere = "133121"
  Case 48
    carattere = "313121"
  Case 49
    carattere = "211331"
  Case 50
    carattere = "231131"
  Case 51
    carattere = "213113"
  Case 52
    carattere = "213311"
  Case 53
    carattere = "213131"
  Case 54
    carattere = "311123"
  Case 55
    carattere = "311321"
  Case 56
    carattere = "331121"
  Case 57
    carattere = "312113"
  Case 58
    carattere = "312311"
  Case 59
    carattere = "332111"
  Case 60
    carattere = "314111"
  Case 61
    carattere = "221411"
  Case 62
    carattere = "431111"
  Case 63
    carattere = "111224"
  Case 64
    carattere = "111422"
  Case 65
    carattere = "121124"
  Case 66
    carattere = "121421"
  Case 67
    carattere = "141122"
  Case 68
    carattere = "141221"
  Case 69
    carattere = "112214"
  Case 70
    carattere = "112412"
  Case 71
    carattere = "122114"
  Case 72
    carattere = "122411"
  Case 73
    carattere = "142112"
  Case 74
    carattere = "142211"
  Case 75
    carattere = "241211"
  Case 76
    carattere = "221114"
  Case 77
    carattere = "413111"
  Case 78
    carattere = "241112"
  Case 79
    carattere = "134111"
  Case 80
    carattere = "111242"
  Case 81
    carattere = "121142"
  Case 82
    carattere = "121241"
  Case 83
    carattere = "114212"
  Case 84
    carattere = "124112"
  Case 85
    carattere = "124211"
  Case 86
    carattere = "411212"
  Case 87
    carattere = "421112"
  Case 88
    carattere = "421211"
  Case 89
    carattere = "212141"
  Case 90
    carattere = "214121"
  Case 91
    carattere = "412121"
  Case 92
    carattere = "111143"
  Case 93
    carattere = "111341"
  Case 94
    carattere = "131141"
  Case 95
    carattere = "114113"
  Case 96
    carattere = "114311"
  Case 97
    carattere = "411113"
  Case 98
    carattere = "411311"
  Case 99
    carattere = "113141"
  Case 100
    carattere = "114131"
  Case 101
    carattere = "311141"
  Case 102
    carattere = "411131"
End Select
Image2 = Image2 & carattere & "2331112"
'Determinazione della larghezza del modulo
mod_width = mx / (Int(Len(Image2) / 6) * 11 + 2)
'Stampa della codifica
StartPoint = sx
For i = 1 To Len(Image2)
  bar_width = mod_width * Val(Mid$(Image2, i, 1))
  Select Case i Mod 2
    Case 0
      Color = 16777215
    Case 1
      Color = 0
  End Select
  'Riga originale
  'Printers.Line (StartPoint, sy)-Step(bar_width, my), Color, BF
  'riga Modificata da Maurizio S.
  R.Line (StartPoint, sy)-Step(bar_width, my), Color, BF
  StartPoint = StartPoint + bar_width
Next i
End Function


title: dove trovare font per barcode?

text:
"Maurizio S" <
in...@sintesysrl.191.it
> ha scritto nel messaggio
news:ee3qr0$46a$1...@area.cu.mi.it...
>
> "Fabrizio yQy" <
yqy_...@yahoo.it
> ha scritto nel messaggio
> news:1157980903....@e3g2000cwe.googlegroups.com...
>> ciao a tutti. sapete dove posso trovare font gratuiti per utilizzare il
>> barcode su access?
>> leggibile da penne ottiche e simili.
>>
>> grazie,ciao
Dimenticavo,
Quanto ti ho comunicato prima crea proprio il BARCODE all'interno del
report.
Non è un vero e proprio Font.
Ciao
Maurizio S.


title: dove trovare font per barcode?

author: PuntoBat

text:
Maurizio S ha scritto:

Io da almeno 2 anni uso questo :
Function MD_Barcode39(Ctrl As Control, Rpt As Report)
     On Error GoTo ErrorTrap_BarCode39
     Dim Nbar As Single, Wbar As Single, Qbar As Single, NextBar As
Single
     Dim CountX As Single, CountY As Single, CountR As Single
     Dim Parts As Single, Pix As Single, Color As Long, BarStamp As
Variant
     Dim Stripes As String, OneStripe As String, BARCODE As String
     Dim Mx As Single, my As Single, Sx As Single, Sy As Single
     Const White = 16777215: Const Black = 0
     Const Nratio = 20, Wratio = 55, Qratio = 35
     Sx = Ctrl.Left: Sy = Ctrl.Top: Mx = Ctrl.Width: my = Ctrl.Height
     BARCODE = Ctrl
     Parts = (Len(BARCODE) + 2) * ((6 * Nratio) + (3 * Wratio) + (1 *
Qratio))
     Pix = (Mx / Parts):
     Nbar = (20 * Pix): Wbar = (55 * Pix): Qbar = (35 * Pix)
     NextBar = Sx
     Color = White
     BarStamp = "*" & UCase(BARCODE) & "*"
     For CountX = 1 To Len(BarStamp)
         Stripes = MD_BC39(Mid$(BarStamp, CountX, 1))
         For CountY = 1 To 11
             OneStripe = Mid$(Stripes, CountY, 1)
             If Color = White Then Color = Black Else Color = White
             Select Case OneStripe
                 Case "1"
                     Rpt.Line (NextBar, Sy)-Step(Wbar, my), Color, BF
                     NextBar = NextBar + Wbar
                 Case "0"
                     Rpt.Line (NextBar, Sy)-Step(Nbar, my), Color, BF
                     NextBar = NextBar + Nbar
             End Select
         Next CountY
         If Color = White Then Color = Black Else Color = White
         Rpt.Line (NextBar, Sy)-Step(Qbar, my), Color, BF
         NextBar = NextBar + Qbar
     Next CountX
Exit_BarCode39:
     Exit Function
ErrorTrap_BarCode39:
     Resume Exit_BarCode39
 End Function
 Function MD_BC39(CharCode As String) As String
     On Error GoTo ErrorTrap_BC39
     ReDim BC39(90)
     BC39(32) = "011000100" ' space
     BC39(36) = "010101000" ' $
     BC39(37) = "000101010" ' %
     BC39(42) = "010010100" ' * Start/Stop
     BC39(43) = "010001010" ' +
     BC39(45) = "010000101" ' |
     BC39(46) = "110000100" ' .
     BC39(47) = "010100010" ' /
     BC39(48) = "000110100" ' 0
     BC39(49) = "100100001" ' 1
     BC39(50) = "001100001" ' 2
     BC39(51) = "101100000" ' 3
     BC39(52) = "000110001" ' 4
     BC39(53) = "100110000" ' 5
     BC39(54) = "001110000" ' 6
     BC39(55) = "000100101" ' 7
     BC39(56) = "100100100" ' 8
     BC39(57) = "001100100" ' 9
     BC39(65) = "100001001" ' A
     BC39(66) = "001001001" ' B
     BC39(67) = "101001000" ' C
     BC39(68) = "000011001" ' D
     BC39(69) = "100011000" ' E
     BC39(70) = "001011000" ' F
     BC39(71) = "000001101" ' G
     BC39(72) = "100001100" ' H
     BC39(73) = "001001100" ' I
     BC39(74) = "000011100" ' J
     BC39(75) = "100000011" ' K
     BC39(76) = "001000011" ' L
     BC39(77) = "101000010" ' M
     BC39(78) = "000010011" ' N
     BC39(79) = "100010010" ' O
     BC39(80) = "001010010" ' P
     BC39(81) = "000000111" ' Q
     BC39(82) = "100000110" ' R
     BC39(83) = "001000110" ' S
     BC39(84) = "000010110" ' T
     BC39(85) = "110000001" ' U
     BC39(86) = "011000001" ' V
     BC39(87) = "111000000" ' W
     BC39(88) = "010010001" ' X
     BC39(89) = "110010000" ' Y
     BC39(90) = "011010000" ' Z
     MD_BC39 = BC39(Asc(CharCode))
Exit_BC39:
     Exit Function
ErrorTrap_BC39:
     MD_BC39 = ""
     Resume Exit_BC39

 End Function
Ciao
.Bat


title: dove trovare font per barcode?

author: Davide

text:
PuntoBat ha scritto:

> Ciao
> .Bat
Ciao a tutti
Ho provato ad usare il codice MB_128,
il tutto scritto su un modulo di un mdb,
ma quando vado ad aprire il report, appare la finestra,
dove c'è la chiamata alla routine MB_128:
Private Sub Corpo_Print(Cancel As Integer, PrintCount As Integer)
 Call MB_128(Reportcode.codi, 20, 20, 7000, 1500, Reportcode)
End Sub
Con il seguente errore:"Errore di compilazione:
Tipo non corrispondente per l'argomento Byref"
Dove sbaglio?
Un saluto Davide


title: dove trovare font per barcode?

text:
"Davide" <
davi...@libero.it
> ha scritto nel messaggio
news:1158045017.1...@m73g2000cwd.googlegroups.com...
PuntoBat ha scritto:
> Maurizio S ha scritto:
>
> > "Maurizio S" <
in...@sintesysrl.191.it
> ha scritto nel messaggio
> > news:ee3qr0$46a$1...@area.cu.mi.it...
> > >
> > > "Fabrizio yQy" <
yqy_...@yahoo.it
> ha scritto nel messaggio
> > > news:1157980903....@e3g2000cwe.googlegroups.com...
> > >> ciao a tutti. sapete dove posso trovare font gratuiti per utilizzare
> > >> il
> > >> barcode su access?
> > >> leggibile da penne ottiche e simili.
> > >>
> > >> grazie,ciao
> >
> > Dimenticavo,
> > Quanto ti ho comunicato prima crea proprio il BARCODE all'interno del
> > report.
> > Non è un vero e proprio Font.
> >
> > Ciao
> > Maurizio S.
>.......
>  End Function
>
Ciao a tutti
Ho provato ad usare il codice MB_128,
il tutto scritto su un modulo di un mdb,
ma quando vado ad aprire il report, appare la finestra,
dove c'è la chiamata alla routine MB_128:
Private Sub Corpo_Print(Cancel As Integer, PrintCount As Integer)
 Call MB_128(Reportcode.codi, 20, 20, 7000, 1500, Reportcode)
End Sub
Con il seguente errore:"Errore di compilazione:
Tipo non corrispondente per l'argomento Byref"
Dove sbaglio?
Un saluto Davide
Ciao Davide,
Devi usare la seguente sintassi:
Private Sub Corpo_Print(Cancel As Integer, PrintCount As Integer)
Call MB_128(Report_Reportcode.codi, 20, 20, 7000, 1500, Report_Reportcode)
End Sub
Dove codi è il nome del controllo all'interno del report
         Reportcode è il nome del report
Ciao
Maurizio S.


title: dove trovare font per barcode?

text:
Maurizio S ha scritto:

Ciao Maurizio,
Grazie al tuo suggerimento adesso il codice funziona.
Nella casella di testo è possibile visualizzare sia il codice a barre,
che il numero da trasformare.
Ma si potrebbe modificare il codice,in modo da non visualizzare il
numero,
ma solo il codice a barre,oppure,visualizzando il numero,determinare
una
certa distanza tra il numero e il codice a barre?
Un saluto e un ringraziamento,  Davide


title: dove trovare font per barcode?

text:


Ciao,
Con questa funzione il codice non viene creato nella casella di testo,
ma da lì recupera solo i dati (la stringa da trasformare in codice)
La casella di testo la puoi posizionare dove vuoi od anche impostare
l'opzione Visibile NO.
La posizione e le dimensioni del codice all'interno del Report dipendono dai
parametri da te impostati:
    Function MB_128(Ctrl, sx, sy, mx, my, R As Report)
           Call MB_128(Report_Reportcode.codi, 20, 20, 7000, 1500,
Report_Reportcode)
        'Ctrl E' il controllo collegato al codice all'interno del Report
        'sx, sy sono le coordinate di inzio del codice (20 - 20)
        'mx, my sono la larghezza e l'altezza del codice (7000 - 1500)
        'R è il nome del report
PS.: Fai una prova con il tuo lettore che il Code128 sia leggibile ed adatto
alle tue esigenze
altrimenti utilizza un'altro un altro tipo di barcode
Saluti
Maurizio S.


title: dove trovare font per barcode?

text:
Maurizio S ha scritto:

Ciao, Maurizio
Impostando la proprieta' visibile a no della casella di testo,
viene eliminata la visualizzazione del numero,come volevo io.
Adesso quello che mi rimane da fare, una prova con un lettore.
Un saluto e un ringraziamento  Davide


title: bottone abilitato/disabilitato in funzione del numero records di una query

text:
Salve a tutti,
ho una maschera la quale possiede un bottone: vorrei fare in modo che questo
bottone sia abilitato solo se una certa query continene 1 o più records.
A questo scopo ho scritto il codice seguente (associato all'evento
SuCorrente della maschera in questione):
Private Sub Form_Current()
    'bottone AGGIUNGI x
    If DCount("*", "q_AGENDA_x") = 0 Then
        Me.BUT_ASSIGN.Enabled = False
    ElseIf DCount("*", "q_AGENDA_x") > 0 Then
        Me.BUT_ASSIGN.Enabled = True
    Else
    End If
End Sub
il problema è il seguente: se 'inizialmente' esiste 1 o più records nella
query in questione, il bottone risulta correttamente abilitato, per poi
disabilitarsi quando il dcount risulta pari a zero, mentre invece se
'inizialmente' la query non ha alcun record il bottone risulta abilitato
comunque.. cosa mi sfugge?
come sempre grazie mille per la vostra attenzione e suggerimenti.
em.an


author: Bruno Campanini

text:
"em.an" <
zzz....@libero.it
> wrote in message
news:t6tif.9827$S6.1...@twister2.libero.it...
> Salve a tutti,
> ho una maschera la quale possiede un bottone: vorrei fare in modo che
> questo
> bottone sia abilitato solo se una certa query continene 1 o piů records.
> A questo scopo ho scritto il codice seguente (associato all'evento
> SuCorrente della maschera in questione):
>
> Private Sub Form_Current()
>    'bottone AGGIUNGI x
>    If DCount("*", "q_AGENDA_x") = 0 Then
>        Me.BUT_ASSIGN.Enabled = False
>    ElseIf DCount("*", "q_AGENDA_x") > 0 Then
>        Me.BUT_ASSIGN.Enabled = True
>    Else
>    End If
> End Sub
>
> il problema č il seguente: se 'inizialmente' esiste 1 o piů records nella
> query in questione, il bottone risulta correttamente abilitato, per poi
> disabilitarsi quando il dcount risulta pari a zero, mentre invece se
> 'inizialmente' la query non ha alcun record il bottone risulta abilitato
> comunque.. cosa mi sfugge?
>
> come sempre grazie mille per la vostra attenzione e suggerimenti.
> em.an
Se, e solo se, q_AGENDA_x č il Record Source della tua scheda
prova cosě:
If Recordset.RecordCount Then
    [BUTT_ASSIGN].Enabled = True
Else
    [BUTT_ASSIGN].Enabled = False
End If
Ciao
Bruno


text:
[CUT]
>
> Se, e solo se, q_AGENDA_x č il Record Source della tua scheda
> prova cosě:
>
> If Recordset.RecordCount Then
>     [BUTT_ASSIGN].Enabled = True
> Else
>     [BUTT_ASSIGN].Enabled = False
> End If
>
> Ciao
> Bruno
>
>
ciao Bruno,
purtropo no, q_AGENDA_x non č il RecordSource della maschera in questione,
bensě quello di un'altra maschera che vado ad aprire col bottone in
questione (quello che vorrei abilitare/disabilitare)..
intanto grazie per il suggerimento!
em.an


text:
"em.an" <
zzz....@libero.it
> wrote in message
news:fqEif.58887$65.16...@twister1.libero.it...

Molto frettolosamente e senza provarla.
Provala tu:
==========================
Private Sub Form_Current()
Dim RS As Recordset
Set RS = CurrentDb.OpenRecordset("q_AGENDA_x")
If RS.RecordCount Then
    [BUTT_ASSIGN].Enabled = True
Else
    [BUTT_ASSIGN].Enabled = False
End If
End Sub
============================
Ciao
Bruno


author: Alessandro Baraldi

text:
"em.an" <
zzz....@libero.it
> wrote in message
news:t6tif.9827$
S6.1...@twister2.libero.it
> Salve a tutti,
[CUT]
> il problema č il seguente: se 'inizialmente' esiste 1 o piů records nella
> query in questione, il bottone risulta correttamente abilitato, per poi
> disabilitarsi quando il dcount risulta pari a zero, mentre invece se
> 'inizialmente' la query non ha alcun record il bottone risulta abilitato
> comunque.. cosa mi sfugge?
>
> come sempre grazie mille per la vostra attenzione e suggerimenti.
> em.an
Il Button lo renderei normalmente DISABILITATO, quindi
su evento Current:
Me!NomeButton.Enabled=(DCount("*", "q_AGENDA_x") > 0)
Ciao
@Alex
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


text:
[CUT]
> > il problema è il seguente: se 'inizialmente' esiste 1 o più records
nella
> > query in questione, il bottone risulta correttamente abilitato, per poi
> > disabilitarsi quando il dcount risulta pari a zero, mentre invece se
> > 'inizialmente' la query non ha alcun record il bottone risulta abilitato
> > comunque.. cosa mi sfugge?
> >
> > come sempre grazie mille per la vostra attenzione e suggerimenti.
> > em.an
>
>
> Il Button lo renderei normalmente DISABILITATO, quindi
> su evento Current:
>
> Me!NomeButton.Enabled=(DCount("*", "q_AGENDA_x") > 0)
>
> Ciao
> @Alex
>
>
ciao @Alex, innanzitutto grazie del suggerimento.
purtroppo però non funziona:
ho disabilitato il bottone all'atto dell'apertura della maschera, salvo
disabilitarlo poi SuCorrente col tuo codice. il problema potrebbe risiedere
nel fatto che la famigerata query Q_AGENDA_x può 'anche' non contenere alcun
record?
em.an


title: soccorso

author: dan

text:
Ciao a tutti sto realizzando un applicativo in grado di generare
preventivi di porte vetri ed accessori vari caricati nella base dati
ed
opportunamente normalizzati e relazionati tra loro. La maschera dei
preventivi avrà una sottomaschera dettagli in quanto può avere più
oggetti o porte
o accessori vetri ecc. come fare? Avrei un paio di idee 1)All'interno
della maschera preventivi vorrei inserire le
varie sottomaschere porte, vetri, accessori in modalità ricerca e
quando
trovo il record che serve vorrei copiare dei campi tipo descrizione ed
importo
uguali per tutti i casi direttamente in un nuovo record della
sottomaschera
dettegli. 2) creare delle tabelle molto simili tra loro dei vari
articoli e creare una union query che li raccolga tutti in modo da
richiamare quest'ultima nella sottomaschera dettagli preventivi. 3)
memorizzare i record che mi interessano in qualche modo per poi
metterli insieme nel preventivo da stampare. Potreste aiutarmi vi
ringrazio anticipatamente.


title: soccorso

author: Carlo Costarella

text:
"dan" <
danielel...@gmail.com
> ha scritto nel messaggio
news:b0fd98ef-84a1-4f25...@g11g2000vbq.googlegroups.com...
Ciao a tutti sto realizzando un applicativo in grado di generare
preventivi di porte vetri ed accessori vari caricati nella base dati
ed
opportunamente normalizzati e relazionati tra loro. La maschera dei
preventivi avr� una sottomaschera dettagli in quanto pu� avere pi�
oggetti o porte
o accessori vetri ecc. come fare? Avrei un paio di idee 1)All'interno
della maschera preventivi vorrei inserire le
varie sottomaschere porte, vetri, accessori in modalit� ricerca e
quando
trovo il record che serve vorrei copiare dei campi tipo descrizione ed
importo
uguali per tutti i casi direttamente in un nuovo record della
sottomaschera
dettegli. 2) creare delle tabelle molto simili tra loro dei vari
articoli e creare una union query che li raccolga tutti in modo da
richiamare quest'ultima nella sottomaschera dettagli preventivi. 3)
memorizzare i record che mi interessano in qualche modo per poi
metterli insieme nel preventivo da stampare. Potreste aiutarmi vi
ringrazio anticipatamente.
Ciao
con questo subject "soccorso" � difficile che qualcuno ti risponde.
Prova a ripostare con una domanda pi� significativa. Cos� facendo
rispetterai le regole del NG e sarai in grado di aiutare altri che hanno il
tuo stesso problema.
Ciao, Carlo


title: domanda banale...ma per me è un campo nuovo

author: Sapere Ufficio

text:
Buongiorno a tutti
E' la prima volta che mi trovo ad usare Access.
Ho creato una semplicissima maschera per l'inserimento di alcuni dati.
Questo banale database dovrei metterlo in un pc, senza access.
Immagino che serva la versione runtime di Access per fare una cosa del
genere, giusto?
La domanda spontanea č: dove si trova sto runtime? si deve pagare (immagino
di si)
Io che ho l'office 2000 versione premium non c'č l'ho vero?
Grazie in anticipo per le info.


author: Pablitomf

text:
Sapere Ufficio ha scritto:
> Buongiorno a tutti
> E' la prima volta che mi trovo ad usare Access.
> Ho creato una semplicissima maschera per l'inserimento di alcuni dati.
> Questo banale database dovrei metterlo in un pc, senza access.
> Immagino che serva la versione runtime di Access per fare una cosa del
> genere, giusto?
> La domanda spontanea è: dove si trova sto runtime? si deve pagare (immagino
> di si)
> Io che ho l'office 2000 versione premium non c'è l'ho vero?
> Grazie in anticipo per le info.
Visto che è la tua "prima volta", per evitare cazziatoni immediati e
futuri per il tuo Subject poco significativo ti invito per prima cosa a
leggere le norme di partecipazione a questo NG.
"domanda banale...etc, etc..." non è un argomento di access, ed è per
questo non attinente al tuo problema; questa piccola osservazione è alla
base della partecipazione all'NG. Immagina se tutti scrivessero in oggerro
"Problema access"... come pensi che si potrebbero distinguere gli
argomenti l'uno dall'altro? e come potrebbe fare chi ha voglia di aiutare
a poter capire se è ingrado di farlo dal semplice oggetto? dovrebbe aprire
i post uno per uno e rispondere solo a quelli in cui si sente
preparato...un caos micidiale;
Premesso ciò ti invito a ripostare con un oggetto che individui il tuo
problema... x es. "Dove trovare Runtime access?" opp. "Installazione DB su
PC senza Access"...
Grazie
--
Pablitomf (Maurizio Facciuti)
“Quando non ti eserciti ricorda che qualcuno in qualche posto si sta
allenando e, quando lo incontrerai, ti batterà”.
Ed Macauley
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


author: Marco Antonioli

text:
> Visto che è la tua "prima volta", per evitare cazziatoni immediati e
> futuri per il tuo Subject poco significativo ti invito per prima cosa a
> leggere le norme di partecipazione a questo NG.
Ma tu per cazziare hai un testo pronto e fai copia/incolla oppure
inventi a seconda dei casi ?
Ciao+
MArco
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


text:
Marco Antonioli ha scritto:
> > Visto che è la tua "prima volta", per evitare cazziatoni immediati e
> > futuri per il tuo Subject poco significativo ti invito per prima cosa a
> > leggere le norme di partecipazione a questo NG.
> Ma tu per cazziare hai un testo pronto e fai copia/incolla oppure
> inventi a seconda dei casi ?
> Ciao+
> MArco
Invento...vado a braccio.
Perchè tu usi un pro-forma? E' un idea.



author: Roberto dalla campagna

text:
"Marco Antonioli" <
in...@echovr.it
> ha scritto nel messaggio
news:cec0710616ae07d50dc...@mygate.mailgate.org...
> > Visto che è la tua "prima volta", per evitare cazziatoni immediati e
> > futuri per il tuo Subject poco significativo ti invito per prima cosa a
> > leggere le norme di partecipazione a questo NG.
>
> Ma tu per cazziare hai un testo pronto e fai copia/incolla oppure
> inventi a seconda dei casi ?
>
> Ciao+
> MArco
A mio avviso nessuno ha cazziato nessuno. Maurizio ha solamente messo al
corrente un nuovo frequentatore di una delle regole di questo NG.
Se in un NG non moderato non ci fossero alcune semplici regole di
comportamento e non ci fosse chi si fa carico di cercare di farle
rispettare, in poco tempo regnerebbe il caos.
O sbaglio?
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


text:
> A mio avviso nessuno ha cazziato nessuno. Maurizio ha solamente messo al
> corrente un nuovo frequentatore di una delle regole di questo NG.
> Se in un NG non moderato non ci fossero alcune semplici regole di
> comportamento e non ci fosse chi si fa carico di cercare di farle
> rispettare, in poco tempo regnerebbe il caos.
> O sbaglio?
Perfettamente d'accordo.
Il mio voleva essere solo un momento di svago.
Come spero abbia intuito anchd S.U.
(non spaventarti a volte dico di peggio).
Comunque nessun problema, avanti sempre !



text:
Marco Antonioli ha scritto:
> Perfettamente d'accordo.
> Il mio voleva essere solo un momento di svago.
> Come spero abbia intuito anchd S.U.
> (non spaventarti a volte dico di peggio).
> Comunque nessun problema, avanti sempre !
> Ciao+
> MArco
Credo lo abbia capito...e se non lo ha capito prima, ora sicuramente ne
saprà di +.
MArco riguardo all'avanti sempre, sai che ti dico? Avanti sempre!
Ciao



title: Aggiornare controllo giacenza.

author: Napoleone

text:
Buonasera ai partecipanti,
sto creando una form in cui fare la movimentazione di magazzino.
La maschera si chiama M_Prodotti_Movimento
in cui ho i seguenti controlli:
CasellaCombinata98 (dove seleziono la causale del movimento)
sDescrizione
lCodiceBarreProdotto
nQuantita
BottConferma (Pulsante che mi servirą in seguito)
-------------------------------------------
Nella Maschera M_Prodotti_Movimento
ho la Sottomaschera SM_Prodotti_Movimento
in cui ho il seguente controllo:
nGiacMag5
che mi riporta la giacenza attuale del prodotto in questione
----------------------------------
Preciso a titolo d'informazione che le movimentazioni
vengono memorizzate nella tabella
Tb_Movimenti_Magazzino
----------------------------------------
Preciso che le causali di movimento possono essere:
USO (in questo caso il valore va sottratto alla giacenza)
VEN (in questo caso il valore va sottratto alla giacenza)
RIN (in questo caso il valore va sottratto oppure aggiunto alla giacenza)
ACQ (in questo caso il valore va aggiunto alla giacenza)
OMG (in questo caso il valore va sottratto alla giacenza)
--------------------------------------
Volevo un vostro consiglio su come aggiornare la giacenza
(controllo nGiacMag5 nella mia sottomaschera)
attuale del prodotto dopo la movimentazione che avviene
col click del pulsante BottConferma
stavo pensando che potrebbe avvenire in due modi:
1) aggiungendo o sottraendo la quantita movimentata
(controllo nQuantita) alla giacenza,
2) Fare la fifferenza di tutte le operazioni memorizzate nella tabella
Tb_Movimenti_Magazzino e aggiungere o sottrare la risultante al valore
contenuto in nGiacMag5 nella mia sottomaschera
(o addiririttura intervenire direttamente nella tabella per l'aggiornamento)
Confido in Vostro contributo.
Napoleone


title: Aggiornare controllo giacenza.

author: MA

text:
Napoleone wrote:
> Buonasera ai partecipanti,
> sto creando una form in cui fare la movimentazione di magazzino.
>
> La maschera si chiama M_Prodotti_Movimento
> in cui ho i seguenti controlli:
> CasellaCombinata98 (dove seleziono la causale del movimento)
> sDescrizione
> lCodiceBarreProdotto
> nQuantita
> BottConferma (Pulsante che mi servirà in seguito)

Creati una subquery dove dividi le quantità per le diverse motivazioni e
calcolatela di nuovo.
In una mia applicazione molto corposa in realtà affido ad una funzione
tramite i rst.
E' immediata, se ti va ne parliamo
--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Sono aperte le iscrizioni  Info:
www.donkarl.com/it


title: Aggiornare controllo giacenza.

text:
CUT
> E' immediata, se ti va ne parliamo
> MAssimiliano Amendola
Certo che mi va, il magazzino è una cosa importanete, e se i conti non
tornano.. sono soldi!
Napoleone


title: Aggiornare controllo giacenza.

text:

Ovvio che lo faccio per due motivazioni ma non sarà difficile farlo per le
altre
Function AggiornaGiac(codx as string)
Dim rstAcq as dao.recordset
Dim rstVen as dao.recordset
Dim rstArt as dao.recodset
Dim Filt As string
Dim TotAcq as single
Filt = "codice = '" & codx & "'"
if rstAcq.count>0 then _
set rstAcq = currentdb.openrecordset("Select dsum(quantità) as Q from
tuatabella where " & filt & "motivazione = 'Acq')
TotAcq = rstAcq!Q
set rstven = currentdb.openrecordset("Select dsum(quantità) as Q from
tuatabella where " & filt & "motivazione = 'Ven')
TotVen = rstAcq!Q
set rstArt = currentdb.Openrecordset("Select * from Aricoli where " & filt)
with rstArt
    .edit
    !giacenza = TotAcq-TotVen
    .update
end with
Dopo scariccati tutte le variabili



title: Aggiornare controllo giacenza.

text:
Ti prego di avere un po di pazienza!
------------------- il codice che segue
> Function AggiornaGiac(codx as string)
> Dim rstAcq as dao.recordset
> Dim rstVen as dao.recordset
> Dim rstArt as dao.recodset
>
> Dim Filt As string
>
> Dim TotAcq as single
>
> Filt = "codice = '" & codx & "'"
>
> if rstAcq.count>0 then _
> set rstAcq = currentdb.openrecordset("Select dsum(quantità) as Q from
> tuatabella where " & filt & "motivazione = 'Acq')
> TotAcq = rstAcq!Q
> set rstven = currentdb.openrecordset("Select dsum(quantità) as Q from
> tuatabella where " & filt & "motivazione = 'Ven')
> TotVen = rstAcq!Q
>
> set rstArt = currentdb.Openrecordset("Select * from Aricoli where " &
> filt)
> with rstArt
>    .edit
>    !giacenza = TotAcq-TotVen
>    .update
> end with
---------------------- Fin Qui,
va in un modulo?
> Dopo scariccati tutte le variabili
Da dove? Vuoi dire completare
.....
if rstAcq.count>0 then _
> set rstAcq = currentdb.openrecordset("Select dsum(quantità) as Q from
> tuatabella where " & filt & "motivazione = 'Acq')
> TotAcq = rstAcq!Q
> set rstven = currentdb.
......
Come mi debbo comportare con la rettifica d'inventario(RIN)?
Puo essere positivo es: 24 o negativo es: -24
> MAssimiliano Amendola
Per il momento, basta questo.
Napoleone


title: Aggiornare controllo giacenza.

text:

Sì
>
>> Dopo scariccati tutte le variabili
> Da dove? Vuoi dire completare
No, intendevo
srtAqc.close : set rstAcq = nothing
> .....
> if rstAcq.count>0 then _
>> set rstAcq = currentdb.openrecordset("Select dsum(quantità) as Q from
>> tuatabella where " & filt & "motivazione = 'Acq')
>> TotAcq = rstAcq!Q
>> set rstven = currentdb.
> ......
> Come mi debbo comportare con la rettifica d'inventario(RIN)?
> Puo essere positivo es: 24 o negativo es: -24
Sommale poi se trova un meno li toglie altrimenti li aggiunge
>
>
> Per il momento, basta questo.
> Napoleone
--



title: Aggiornare controllo giacenza.

text:
Ulteriori precisazioni
 -------------------
>>> Function AggiornaGiac(codx as string)
'questa funzione mi aggiorna la giacenza del prodotto nel campo della
tabella Tb_Prodotti?
>>> Dim rstAcq as dao.recordset
>>> Dim rstVen as dao.recordset
>>> Dim rstArt as dao.recodset
Art sta per codice articolo o descrizione articolo?
>>> Dim Filt As string
>>>
>>> Dim TotAcq as single
Qui mi restituisce il totale ACQUISTI
>>>
>>> Filt = "codice = '" & codx & "'"
per codice intendi il codice dell'articolo
>>>
>>> if rstAcq.count>0 then _
>>> set rstAcq = currentdb.openrecordset("Select dsum(quantità) as Q from
>>> tuatabella where " & filt & "motivazione = 'Acq')
motivazione sarebbe la CAUSALE di movimentazione?
>>> TotAcq = rstAcq!Q
la Q sta per?
>>> set rstven = currentdb.openrecordset("Select dsum(quantità) as Q from
>>> tuatabella where " & filt & "motivazione = 'Ven')
>>> TotVen = rstAcq!Q
qui dovremmo conteggiare le vendite
>>>
>>> set rstArt = currentdb.Openrecordset("Select * from Aricoli where " &
>>> filt)
>>> with rstArt
>>>    .edit
>>>    !giacenza = TotAcq-TotVen
Scusa e la quantità iniziale, non viene presa in considerazione?
verrebbe:!giacenza =  nGiacIni5+TotACQ-TotVEN+TotRIN
>>>    .update
>>> end with
>> ---------------------- Fin Qui,
>> va in un modulo?
>
> Sì
>
>>
>>> Dopo scariccati tutte le variabili
>> Da dove? Vuoi dire completare
>
> No, intendevo
> srtAqc.close : set rstAcq = nothing
Dove viene? a fronte dell'evento click del mio bottone?
e come verebbe?
>
>
>> .....
>> if rstAcq.count>0 then _
>>> set rstAcq = currentdb.openrecordset("Select dsum(quantità) as Q from
>>> tuatabella where " & filt & "motivazione = 'Acq')
>>> TotAcq = rstAcq!Q
>>> set rstven = currentdb.
>> ......
>> Come mi debbo comportare con la rettifica d'inventario(RIN)?
>> Puo essere positivo es: 24 o negativo es: -24
>
> Sommale poi se trova un meno li toglie altrimenti li aggiunge
> Ciao
> MAssimiliano Amendola
Napoleone


title: Aggiornare controllo giacenza.

text:
Napoleone wrote:
> Ulteriori precisazioni
>  -------------------
>>>> Function AggiornaGiac(codx as string)
> 'questa funzione mi aggiorna la giacenza del prodotto nel campo della
> tabella Tb_Prodotti?
>>>> Dim rstAcq as dao.recordset
>>>> Dim rstVen as dao.recordset
>>>> Dim rstArt as dao.recodset
> Art sta per codice articolo o descrizione articolo?
Art o meglio rstArt è il recordset di tutta la tabella
>>>> Dim Filt As string
>>>>
>>>> Dim TotAcq as single
> Qui mi restituisce il totale ACQUISTI
Questa è solo la dichiarazione della variabile che ti servirà
>>>>
>>>> Filt = "codice = '" & codx & "'"
> per codice intendi il codice dell'articolo
Sì che è uguale a codx.
Codx è il codice che passi quando vuoi calcolare quella giacenza
Per aggiornare la iacenza tu dovrai
call AggiornaGiac(me.codice)
>>>>
>>>> if rstAcq.count>0 then _
>>>> set rstAcq = currentdb.openrecordset("Select dsum(quantità) as Q
>>>> from tuatabella where " & filt & "motivazione = 'Acq')
> motivazione sarebbe la CAUSALE di movimentazione?
>>>> TotAcq = rstAcq!Q
> la Q sta per?
Se vedi abbiamo chiamato con l'alias Q la somma della quantità nel rst
precedente
dsum(quantità) as Q
>>>> set rstven = currentdb.openrecordset("Select dsum(quantità) as Q
>>>> from tuatabella where " & filt & "motivazione = 'Ven')
>>>> TotVen = rstAcq!Q
> qui dovremmo conteggiare le vendite
certo
>>>>
>>>> set rstArt = currentdb.Openrecordset("Select * from Aricoli where
>>>> " & filt)
>>>> with rstArt
>>>>    .edit
>>>>    !giacenza = TotAcq-TotVen
> Scusa e la quantità iniziale, non viene presa in considerazione?
> verrebbe:!giacenza =  nGiacIni5+TotACQ-TotVEN+TotRIN
>>>>    .update
>>>> end with
Se ce l'hai salvata con motivazione diversa allaora sì, altriemnti questa
funzione calcola on the fly tutto lo storico
>>> ---------------------- Fin Qui,
>>> va in un modulo?
>>
>> Sì
>>
>>>
>>>> Dopo scariccati tutte le variabili
>>> Da dove? Vuoi dire completare
>>
>> No, intendevo
>> srtAqc.close : set rstAcq = nothing
> Dove viene? a fronte dell'evento click del mio bottone?
> e come verebbe?
Ti ho risposto sopra con call
lo puoi mettere sull'evento che vuoi tipo quello current della sottomaschera
della transazione (acquisto o vendita ...)
>>
>>
>>> .....
>>> if rstAcq.count>0 then _
>>>> set rstAcq = currentdb.openrecordset("Select dsum(quantità) as Q
>>>> from tuatabella where " & filt & "motivazione = 'Acq')
>>>> TotAcq = rstAcq!Q
>>>> set rstven = currentdb.
>>> ......
>>> Come mi debbo comportare con la rettifica d'inventario(RIN)?
>>> Puo essere positivo es: 24 o negativo es: -24
>>
>> Sommale poi se trova un meno li toglie altrimenti li aggiunge
>> Ciao
>> MAssimiliano Amendola
>
> Napoleone
--



title: Aggiornare controllo giacenza.

text:
"MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
news:iGDke.12004$TR5....@news.edisontel.com...

Naturalmente, tutte le movimentazioni le faccio in una sola maschera?
>
>>>
>>>
>>>> .....
>>>> if rstAcq.count>0 then _
>>>>> set rstAcq = currentdb.openrecordset("Select dsum(quantità) as Q
>>>>> from tuatabella where " & filt & "motivazione = 'Acq')
>>>>> TotAcq = rstAcq!Q
>>>>> set rstven = currentdb.
>>>> ......
>>>> Come mi debbo comportare con la rettifica d'inventario(RIN)?
>>>> Puo essere positivo es: 24 o negativo es: -24
>>>
>>> Sommale poi se trova un meno li toglie altrimenti li aggiunge
>>> Ciao
>>> MAssimiliano Amendola
>>
>> Napoleone
>
> --
> _ _
> Ciao
> MAssimiliano Amendola
Quindi, prima ancora di andare avanti (dopo il pranzo)
quanto andremo a fare, sarà valido anche, quando caricherò un ordine?
Verrà richiamato lo stesso modulo?
Buon Appetito
Napoleone


title: Aggiornare controllo giacenza.

text:

Ovuque.
>>
>>>>
>>>>
>>>>> .....
>>>>> if rstAcq.count>0 then _
>>>>>> set rstAcq = currentdb.openrecordset("Select dsum(quantità) as Q
>>>>>> from tuatabella where " & filt & "motivazione = 'Acq')
>>>>>> TotAcq = rstAcq!Q
>>>>>> set rstven = currentdb.
>>>>> ......
>>>>> Come mi debbo comportare con la rettifica d'inventario(RIN)?
>>>>> Puo essere positivo es: 24 o negativo es: -24
>>>>
>>>> Sommale poi se trova un meno li toglie altrimenti li aggiunge
>>>> Ciao
>>>> MAssimiliano Amendola
>>>
>>> Napoleone
>>
>> --
>> _ _
>> Ciao
>> MAssimiliano Amendola
>
> Quindi, prima ancora di andare avanti (dopo il pranzo)
> quanto andremo a fare, sarà valido anche, quando caricherò un ordine?
> Verrà richiamato lo stesso modulo?
certo gli passiamo solo il "controllo" o il valore che ci serve
>
> Buon Appetito
> Napoleone
--
_ _
Ciao



title: Aggiornare controllo giacenza.

text:
"MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
news:O2Eke.12017$TR5....@news.edisontel.com...

Scusami, non sono sparito. Ho installato un modem Wireless e mi ha bloccato
due computer!
Ho creato un modulo chiamato AggiornaGiac
cosi redatto:
Function AggiornaGiac(codx As String)
Dim rstAcq As dao.Recordset
Dim rstVen As dao.Recordset
Dim rstArt As dao.recodset
Dim Filt As String
Dim TotAcq As Single
Filt = "lCodiceBarreProdotto = '" & codx & "'"
if rstAcq.count>0 then _
set rstACQ = currentdb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & filt & "sCausale = 'Acq') TotAcq = rstAcq!Q
set rstVen = currentdb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & filt & "sCausale = 'Ven') TotVEN = rstVen!Q
set rstRIN = currentdb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & filt & "sCausale = 'RIN') TotRIN = rstRIN!Q
set rstUSO = currentdb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & filt & "sCausale = 'USO') TotUSO = rstUSO!Q
set rstOMG = currentdb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & filt & "sCausale = 'OMG') TotOMG = rstOMG!Q
Set rstArt = CurrentDb.openrecordset("Select * from ARTICOLI where " & Filt)
With rstArt
    .edit
    !giacenza = TotAcq - TotVEN - TotOMG + TotRIN - TotUSO
    .Update
End With
però gia in fase di compilazione mi segnala errore:
Previsto: Separatore di elenco oppure)
Speriamo domani di riattivare il tutto cosi continuiamo tranquillamente la
discussione.
Ciao Napoleone


title: Aggiornare controllo giacenza.

text:
Napoleone wrote:
> Scusami, non sono sparito. Ho installato un modem Wireless e mi ha
> bloccato due computer!
>
> Ho creato un modulo chiamato AggiornaGiac
> cosi redatto:
> Function AggiornaGiac(codx As String)
Fai così è più pulito
sostuisci questo con:
> Dim rstAcq As dao.Recordset
> Dim rstVen As dao.Recordset
> Dim rstArt As dao.recodset
Dim rstMov as dao.recordset
Dim strMov as string
>
> Dim Filt As String
>
> Dim TotAcq As Single
>
> Filt = "lCodiceBarreProdotto = '" & codx & "'"
e quindi così
strMov = "Select dsum(nQuantità) as Q from tb_movimenti_magazzino where " &
Filt & " AND sCausale = 'Acq')
>
non l'abbiamo ancora aperto come facciamo a contarlo?
recordcount no count, ieri forse ero un pò frollo
> if rstAcq.count>0 then _
> set rstACQ = currentdb.openrecordset("Select dsum(nQuantità) as Q from
qui hai dimenticato and
> tb_Movimenti_Magazzino where " & filt & "sCausale = 'Acq')
set rstMov = currentdb.openrecordset(strMov)
if rstMov.Recordcount >0 then
    TotAcq = rstMov!q
else
    TotAcq = 0
end if
va beh per tutto il resto è uguale
> set rstVen = currentdb.openrecordset("Select dsum(nQuantità)
> as Q from tb_Movimenti_Magazzino where " & filt & "sCausale = 'Ven')
> TotVEN = rstVen!Q set rstRIN = currentdb.openrecordset("Select
> dsum(nQuantità) as Q from tb_Movimenti_Magazzino where " & filt &
> "sCausale = 'RIN') TotRIN = rstRIN!Q set rstUSO =
> currentdb.openrecordset("Select dsum(nQuantità) as Q from
> tb_Movimenti_Magazzino where " & filt & "sCausale = 'USO') TotUSO =
> rstUSO!Q set rstOMG = currentdb.openrecordset("Select dsum(nQuantità)
> as Q from tb_Movimenti_Magazzino where " & filt & "sCausale = 'OMG')
> TotOMG = rstOMG!Q
>
>
> Set rstArt = CurrentDb.openrecordset("Select * from ARTICOLI where "
> & Filt) With rstArt
>     .edit
>     !giacenza = TotAcq - TotVEN - TotOMG + TotRIN - TotUSO
>     .Update
> End With
>
> però gia in fase di compilazione mi segnala errore:
> Previsto: Separatore di elenco oppure)
> Speriamo domani di riattivare il tutto cosi continuiamo
> tranquillamente la discussione.
> Ciao Napoleone
--
_ _
Ciao



title: Aggiornare controllo giacenza.

text:
Ciao Massimiliano,
sarà il raffreddore ma ho l'impressione che continuo non aver afferrato
l'idea di quello che stiamo facendo.
Intando per provare il codice, ho creato una query di cui ti allego l'SQL:
SELECT Tb_Prodotti.sDescrizione, Tb_Prodotti.lCodiceBarreProdotto,
Tb_Prodotti.lCodiceBarreFornitore, Tb_Prodotti.nGiacMag5
FROM Tb_Prodotti
WHERE (((Tb_Prodotti.nGiacMag5)="Call AggiornaGiac"));
e mi da questo errore
Tipi di dati non corrispondenti nell'espressione criteri
---------------------
poi anzi ancora prima
.....
Function AggiornaGiac(codx As String)
Dim rstMov As dao.Recordset
Dim strMov As String
Dim Filt As String
Dim TotACQ As Single
Filt = "lCodiceBarreProdotto = '" & codx & "'"
strMov = "Select dsum(nQuantità) as Q from tb_movimenti_magazzino where " &
Filt & " AND sCausale = 'Acq')"
If rstACQ.Count > 0 Then _
Set rstMov = CurrentDb.openrecordset(strMov)
If rstMov.RecordCount > 0 Then
    TotACQ = rstMov!q
Else
    TotACQ = 0
End If
----il codice che segue---
set rstACQ = currentdb.openrecordset("Select dsum(nQuantità) as Q from AND
tb_Movimenti_Magazzino where " & filt & "sCausale = 'Acq') TotACQ = rstACQ!Q
----fino a qui, deve andare su una sola riga o rimane su più righe
NB quando scrivo il codice questa riga ma anche le quattro di sotto, me la
segnala in rosso, accompagnate dal msg che ti avevo segnalato ieri.
'set rstVEN = currentdb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & filt & "sCausale = 'Ven') TotVEN = rstVen!Q
'set rstRIN = currentdb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & filt & "sCausale = 'RIN') TotRIN = rstRIN!Q
'set rstUSO = currentdb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & filt & "sCausale = 'USO') TotUSO = rstUSO!Q
'set rstOMG = currentdb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & filt & "sCausale = 'OMG') TotOMG = rstOMG!Q
Set rstArt = CurrentDb.openrecordset("Select * from ARTICOLI where " & Filt)
With rstArt
    .edit
    !giacenza = TotACQ - TotVEN - TotOMG + TotRIN - TotUSO
    .Update
End With
Rivedilo adesso, altrimenti appena attivo l'DSL potrei mandarti un file
zippato?
Napoleone


title: Aggiornare controllo giacenza.

text:
Napoleone wrote:
> Ciao Massimiliano,
> sarà il raffreddore ma ho l'impressione che continuo non aver
> afferrato l'idea di quello che stiamo facendo.
> Intando per provare il codice, ho creato una query di cui ti allego
> l'SQL:
>
> SELECT Tb_Prodotti.sDescrizione, Tb_Prodotti.lCodiceBarreProdotto,
> Tb_Prodotti.lCodiceBarreFornitore, Tb_Prodotti.nGiacMag5
> FROM Tb_Prodotti
> WHERE (((Tb_Prodotti.nGiacMag5)="Call AggiornaGiac"));
> e mi da questo errore
> Tipi di dati non corrispondenti nell'espressione criteri
Infatti quella funzione serve per calcolare il valore della giacenza e
salvarlo nel campo
Giacenza (sarebbe quell'edit che facciamo alla fine.
> ---------------------
> poi anzi ancora prima
> .....
> Function AggiornaGiac(codx As String)
>
> Dim rstMov As dao.Recordset
> Dim strMov As String
>
> Dim Filt As String
>
> Dim TotACQ As Single
>
> Filt = "lCodiceBarreProdotto = '" & codx & "'"
> strMov = "Select dsum(nQuantità) as Q from tb_movimenti_magazzino
> where " & Filt & " AND sCausale = 'Acq')"
>
> If rstACQ.Count > 0 Then _
> Set rstMov = CurrentDb.openrecordset(strMov)
> If rstMov.RecordCount > 0 Then
>     TotACQ = rstMov!q
> Else
>     TotACQ = 0
> End If
>
> ----il codice che segue---
Tutto su una riga
> set rstACQ = currentdb.openrecordset("Select dsum(nQuantità) as Q
> from AND tb_Movimenti_Magazzino where " & filt & "sCausale = 'Acq')
Nuova riga
> TotACQ = rstACQ!Q ----fino a qui, deve andare su una sola riga o
> rimane su più righe
> NB quando scrivo il codice questa riga ma anche le quattro di sotto,
> me la segnala in rosso, accompagnate dal msg che ti avevo segnalato
> ieri.
E ancora una volta hai dimenticato And
Mi sa che non hai letto il msg di stamattina
>
> 'set rstVEN = currentdb.openrecordset("Select dsum(nQuantità) as Q
> from tb_Movimenti_Magazzino where " & filt & "sCausale = 'Ven')
> TotVEN = rstVen!Q 'set rstRIN = currentdb.openrecordset("Select
> dsum(nQuantità) as Q from tb_Movimenti_Magazzino where " & filt &
> "sCausale = 'RIN') TotRIN = rstRIN!Q 'set rstUSO =
> currentdb.openrecordset("Select dsum(nQuantità) as Q from
> tb_Movimenti_Magazzino where " & filt & "sCausale = 'USO') TotUSO =
> rstUSO!Q 'set rstOMG = currentdb.openrecordset("Select
> dsum(nQuantità) as Q from tb_Movimenti_Magazzino where " & filt &
> "sCausale = 'OMG') TotOMG = rstOMG!Q
>
>
>
> Set rstArt = CurrentDb.openrecordset("Select * from ARTICOLI where "
> & Filt) With rstArt
>     .edit
>     !giacenza = TotACQ - TotVEN - TotOMG + TotRIN - TotUSO
>     .Update
> End With
Fammi sapere vediamo che posso fare
>
> Rivedilo adesso, altrimenti appena attivo l'DSL potrei mandarti un
> file zippato?
> Napoleone
--



title: Aggiornare controllo giacenza.

text:
"MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
news:75Xke.12198$TR5....@news.edisontel.com...

Scusa dove va? mettilo grande anzi GRANDE cosi lo vedo!

Ciao
Napoleone


title: Aggiornare controllo giacenza.

text:
>> E ancora una volta hai dimenticato And
>> Mi sa che non hai letto il msg di stamattina
>
> Scusa dove va? mettilo grande anzi GRANDE cosi lo vedo!
>>
>>>
>>> 'set rstVEN = currentdb.openrecordset("Select dsum(nQuantità) as Q
>>> from tb_Movimenti_Magazzino where " & filt & "
Yor are Here
***************AND *****************************************
 "sCausale = 'Ven')



title: Aggiornare controllo giacenza.

text:
CUT
adesso il modulo è cosi scritto
----------------------
AggiornaGiac()
---------------------
Function AggiornaGiac(codx As String)
Dim rstMov As dao.Recordset
Dim strMov As String
Dim Filt As String
Dim TotACQ As Single
Filt = "lCodiceBarreProdotto = '" & codx & "'"
strMov = "Select dsum(nQuantità) as Q from tb_movimenti_magazzino where " &
Filt & " AND sCausale = 'Acq')"
If rstACQ.Count > 0 Then _
Set rstMov = CurrentDb.openrecordset(strMov)
If rstMov.RecordCount > 0 Then
    TotACQ = rstMov!Q
Else
    TotACQ = 0
End If
Set rstACQ = CurrentDb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & Filt & " and sCausale = 'Acq'")
TotACQ = rstACQ!Q
Set rstVEN = CurrentDb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & Filt & " and sCausale = 'Ven'")
TotVEN = rstVEN!Q
Set rstRIN = CurrentDb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & Filt & " and sCausale = 'RIN'")
TotRIN = rstRIN!Q
Set rstUSO = CurrentDb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & Filt & " and sCausale = 'USO'")
TotUSO = rstUSO!Q
Set rstOMG = CurrentDb.openrecordset("Select dsum(nQuantità) as Q from
tb_Movimenti_Magazzino where " & Filt & " and sCausale = 'OMG'")
TotOMG = rstOMG!Q
Set rstArt = CurrentDb.openrecordset("Select * from ARTICOLI where " & Filt)
With rstArt
    .edit
    !giacenza = TotACQ - TotVEN - TotOMG + TotRIN - TotUSO
    .Update
End With
-------------------------------
La chiamo con
Call AggiornaGiac
ma niente,
L'ho chiamata in una query e niente.
Come vorrebbe essere chiamata?
Ciao Napoleone


title: Aggiornare controllo giacenza.

text:
Napoleone wrote:
> CUT
> adesso il modulo è cosi scritto
> ----------------------
> AggiornaGiac()
> ---------------------
> Function AggiornaGiac(codx As String)
>
> Dim rstMov As dao.Recordset
> Dim strMov As String
>
> Dim Filt As String
>
> Dim TotACQ As Single
>
> Filt = "lCodiceBarreProdotto = '" & codx & "'"
> strMov = "Select dsum(nQuantità) as Q from tb_movimenti_magazzino
> where " & Filt & " AND sCausale = 'Acq')"
Le virgolette dentro la parentesi

> Call AggiornaGiac
Ci devi mettere il codice di riferimento
tipo
call AggornaGiac(me.codice)
sarebbe quel parametro codex che prevediamo nel nome della funzione



title: Aggiornare controllo giacenza.

text:
"MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
news:xR1le.12312$TR5...@news.edisontel.com...

La query di cui ti allego sql
SELECT Tb_Prodotti.sDescrizione, Tb_Prodotti.lCodiceBarreProdotto,
Tb_Prodotti.lCodiceBarreFornitore, Tb_Prodotti.nGiacMag5
FROM Tb_Prodotti
WHERE (((Tb_Prodotti.nGiacMag5)="call AggornaGiac(me.codice"));
tipo di dati non corrispondenti nell'espresione criterio
Napoleone


title: Aggiornare controllo giacenza.

text:

> La query di cui ti allego sql
>
> SELECT Tb_Prodotti.sDescrizione, Tb_Prodotti.lCodiceBarreProdotto,
> Tb_Prodotti.lCodiceBarreFornitore, Tb_Prodotti.nGiacMag5
> FROM Tb_Prodotti
> WHERE (((Tb_Prodotti.nGiacMag5)="call AggornaGiac(me.codice"));
> tipo di dati non corrispondenti nell'espresione criterio
>
> Napoleone
NON è un crietrio di una query.
E' un'istruzione da chiamare su di un evento tipo
qtà_afterupdate



title: Aggiornare controllo giacenza.

text:
"MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
news:P_1le.12313$TR5....@news.edisontel.com...
> Napoleone wrote:
>> "MA" <
mas...@massimilianoamendola.it
> ha scritto nel messaggio
>> news:xR1le.12312$TR5...@news.edisontel.com...
>>> Napoleone wrote:
>>>> CUT
>>>> adesso il modulo è cosi scritto
>>>> ----------------------
>>>> AggiornaGiac()
>>>> ---------------------
>>>> Function AggiornaGiac(codx As String)
>>>>
>>>> Dim rstMov As dao.Recordset
>>>> Dim strMov As String
>>>>
>>>> Dim Filt As String
>>>>
>>>> Dim TotACQ As Single
>>>>
>>>> Filt = "lCodiceBarreProdotto = '" & codx & "'"
>>>> strMov = "Select dsum(nQuantità) as Q from tb_movimenti_magazzino
>>>> where " & Filt & " AND sCausale = 'Acq')"
>>>
>>> Le virgolette dentro la parentesi
Le ho messe dentro e mi segna la riga di codice in rosso
> Ciao
> MAssimiliano Amendola
Napoleone


title: Aggiornare controllo giacenza.

text:
>>>>>
>>>>> Filt = "lCodiceBarreProdotto = '" & codx & "'"
>>>>> strMov = "Select dsum(nQuantità) as Q from tb_movimenti_magazzino
>>>>> where " & Filt & " AND sCausale = 'Acq')"
>>>>
>>>> Le virgolette dentro la parentesi
>
> Le ho messe dentro e mi segna la riga di codice in rosso
Mi pare che manchi l'apertura della parentesi, che dovrebbe andare prima di
"Select dsum???
>
>> Ciao
>> MAssimiliano Amendola
>
> Napoleone
Ho chiamato la funzione
Private Sub nQuantita_AfterUpdate()
Call AggornaGiac(Me.codice)
End Sub
Mi segnala errrìore di compilazione
impossibile trovare il metodo o il membro dei dati
Napoleone


title: Aggiornare controllo giacenza.

text:

Ho realizzato a volo e inviato una demo di quello  che ti dicevo.
funziona.



title: Casella di riepilogo\Visualizzazione coatta dei decimali...urgente

author: Lindbergh

text:
Ciao a tutti.
Avrei bisogno se vi č possibile di un aiuto urgente su un problemino che non
riesco a risolvere.
In una Form visualizzo attraverso una casella di riepilogo i dati relativi
ad una tabella.Il problema č che , nonostante io abbia settato tutti i
valori numerici ad intero lungo e quindi SENZA valori decimali, nella
casella di riepilodo i campi relativi appaiono COMUNQUE con i due zeri dopo
la virgola.
Ho cercato soluzione nell'help , ma sentra trovare nulla.
Dove sta' l'arcano??
Devo dare una formattazione particolare al campo numerico??
Grazie a tutti e ciao
Eddie


author: Joanna

text:
> In una Form visualizzo attraverso una casella di riepilogo i dati relativi
> ad una tabella.Il problema è che , nonostante io abbia settato tutti i
> valori numerici ad intero lungo e quindi SENZA valori decimali, nella
> casella di riepilodo i campi relativi appaiono COMUNQUE con i due zeri
dopo
> la virgola.
Le caselle di riepilogo leggono i dati da una query (se hai utilizzato
l'autocomposizione per creare la casella, vedi la query nelle proprietà
della casella di riepilogo alla voce Dati->Origine riga)
Praticamente ogni colonna della casella è un campo della query. La casella
visualizza tutti i valori numerici e data come testo, quindi la soluzione
migliore per ottenere il formato che vuoi è quello di andare nella origine
riga e creare un campo calcolato formattando il tuo campo con un'istruzione
format.
Supponiamo che il campo intero lungo si chiami "pippo" e il campo nuovo che
generiamo si chiami "ciccio", allora nella query, al posto di "pippo" puoi
scrivere: Ciccio: format([pippo];"0")
Vedrai che i decimali spariscono.
Certo..magari dai un occhio nella struttura della tua tabella se per caso
non hai indicato tra le proprietà che quel campo, pur essendo intero lungo,
richiede 2 decimali. Magari per sicurezza nella proprietà "posizioni
decimali" metti 0 invece di Automatiche.
Spero che il tutto ti sia di aiuto.
Ciao
Anna :O)


author: Roberto in campagna

text:
"Lindbergh" <
lind...@libero.it
> ha scritto nel messaggio
news:c0W27.5469$2v6.1...@news.infostrada.it...
> Ciao a tutti.
> Avrei bisogno se vi è possibile di un aiuto urgente su un problemino che
non
> riesco a risolvere.
> In una Form visualizzo attraverso una casella di riepilogo i dati relativi
> ad una tabella.Il problema è che , nonostante io abbia settato tutti i
> valori numerici ad intero lungo e quindi SENZA valori decimali, nella
> casella di riepilodo i campi relativi appaiono COMUNQUE con i due zeri
dopo
> la virgola.
> Ho cercato soluzione nell'help , ma sentra trovare nulla.
> Dove sta' l'arcano??
> Devo dare una formattazione particolare al campo numerico??
> Grazie a tutti e ciao
> Eddie
>
Cosa hai come Formato e Numero decimali del campo della tabella o del campo
della query che è origine riga della casella di riepilogo? Forse Fisso e 2?
O Valuta e 2?
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


text:
"Roberto in campagna" <
r.ma...@libero.it
> ha scritto nel messaggio
news:Td037.972$kf3....@news.infostrada.it...
>
> "Lindbergh" <
lind...@libero.it
> ha scritto nel messaggio
> news:c0W27.5469$2v6.1...@news.infostrada.it...
> > Ciao a tutti.
> > Avrei bisogno se vi è possibile di un aiuto urgente su un problemino che
> non
> > riesco a risolvere.
> > In una Form visualizzo attraverso una casella di riepilogo i dati
relativi
> > ad una tabella.Il problema è che , nonostante io abbia settato tutti i
> > valori numerici ad intero lungo e quindi SENZA valori decimali, nella
> > casella di riepilodo i campi relativi appaiono COMUNQUE con i due zeri
> dopo
> > la virgola.
[CUT]>
> Cosa hai come Formato e Numero decimali del campo della tabella o del
campo
> della query che è origine riga della casella di riepilogo? Forse Fisso e
2?
> O Valuta e 2?
> Roberto
Ciao Roberto,
grazie della risposta e buona continuazione di vacanza.
Il Formato è Standard(per avere la separazione delle migliaia) e Decimali 0;
ho provato anche
                    Fisso e Decimali 0, ma nun cambia.
Ciao
Eddie



text:
"Joanna" <
joa...@joanna.it
> ha scritto nel messaggio
news:9ihv8g$94g$1...@fe2.cs.interbusiness.it...

Ciao Anna e grazie della risposta.Le propieta del campo sono corrette:
Standard(per la separazione delle migliaia) e Decimali 0.
Ho provato anche Fisso e decimali 0, ma non cambia nulla.
Provero' il tuo consiglio; nella query la cifra è senza decimali.
Cosa cambia se io in sostanza ricreo un altro campo pur se calcolato: che
posso in questo caso indicargli una formattazione che nel
campo originario non mi è consentito? La differenza è che nell'originario
non posso dirgli Format ecc??
Ciao
Eddie
>
>


text:
"Lindbergh" <
lind...@libero.it
> ha scritto nel messaggio
news:NO037.1321$kf3....@news.infostrada.it...

Ciao Anna,
ho risolto anche grazie a te.In effetti dimenticavo che un riferimento
circolare in una query è
ovviamente impossibile. Il tuo suggerimento è giusto in parte. Se metti
Ciccio:Format([Pippo];"0") in effetti i decimali
spariscono, ma la cifra non ha nessuna formattazione numerica. I numeri che
compongono la cifra appaiono senza punto
di divisione 123456. Mentre prova che ti riprova alla fine con
Ciccio:([Format];"#.#00") appare 123.456  perfetto!!!
Grazie ancora e ciao.
Eddie
>


text:
"Roberto in campagna" <
r.ma...@libero.it
> ha scritto nel messaggio
news:Td037.972$kf3....@news.infostrada.it...
>
> "Lindbergh" <
lind...@libero.it
> ha scritto nel messaggio
> news:c0W27.5469$2v6.1...@news.infostrada.it...
> > Ciao a tutti.
> > Avrei bisogno se vi è possibile di un aiuto urgente su un problemino che
> non
> > riesco a risolvere.
> > In una Form visualizzo attraverso una casella di riepilogo i dati
relativi
> > ad una tabella.Il problema è che , nonostante io abbia settato tutti i
> > valori numerici ad intero lungo e quindi SENZA valori decimali, nella
> > casella di riepilodo i campi relativi appaiono COMUNQUE con i due zeri
> dopo
> > la virgola.
> >
>
> Cosa hai come Formato e Numero decimali del campo della tabella o del
campo
> della query che è origine riga della casella di riepilogo? Forse Fisso e
2?
> O Valuta e 2?
> Roberto
Ciao Roberto,
riposto sulla tua per dirti che grazie a Joanna ho risolto.
In effetti le caselle di riepilogo mostrano dei dati come testo , quindi la
soluzione consiste
nel creare un campo calcolato nella query che formatti il campo interessato
in questo
modo:  B:Format([A];"#.#00"). A questo punto il campo è formattato come le
proprieta' del
campo della tabella: Numerico\Standard\Decimali 0.
Ciao e grazie per l'interessamento.
Eddie



title: sostituzione testo

author: Aebi

text:
Ho una serie di campi che contengono un codice in numeri e in un'altro
campo dovrei tradurlo in un codice in cifre (ad esempio 123 in abc) e
un po' che ci sto provando ma senza successo, devo farlo in acces97
che tra l'altro ha un minor numero di funzioni rispetto ad access2000
con cui stavo facendo alcuni tentativi. Ciao e grazie.


title: sostituzione testo

text:
"Aebi" <
antoni...@hotmail.com
> ha scritto nel messaggio
news:svr7l3dsi9sqr6868...@4ax.com...

numeri e cifre sono la stessa cosa....forse volevi dire da numeri a testo.
L'operazione va fatta da codice e questi i passaggi da seguire.
Stabilire le corrispondenze
1 = A
2 = B
3 = C
...ecc
Fare un parsing delle cifre numeriche (1234321..) una ad una confrontando il
valore corrispondente nelle corrispondenze...
Accodare il risultato ad una variabile di tipo stringa.
Se ne è gia parlato in questo NG e la soluzione da me proposta è questa:
Due funzioni: ConvertiNumero(n As Long) e ValutaNumero.
Per esempio per assegnare un valore al controllo MioControlloStringa,
scrivero:
Forms!TuaMaschera!MioControlloStringa = ConvertiNumero(TuoNumero)
La funzione ValutaNumero andrà opportunamente corretta con i valori che ti
servono.
Entrambe le funzioni vanno inserite in un modulo pubblico.
Public Function ConvertiNumero(n As Long) As String
Dim M As String, i As Integer, StrParziale As String
M = n
For i = 1 To Len(M)
StrParziale = StrParziale & ValutaNumero(CInt(Mid(M, i, 1)))
Next i
ConvertiNumero = StrParziale
End Function
Public Function ValutaNumero(nn As Byte) As String
Select Case nn
Case 1
ValutaNumero = "A"
Case 2
ValutaNumero = "E"
Case 3
ValutaNumero = "G"
Case 4
ValutaNumero = "H"
Case 5
ValutaNumero = "M"
Case 6
ValutaNumero = "P"
Case 7
ValutaNumero = "S"
Case 8
ValutaNumero = "T"
Case 9
ValutaNumero = "K"
Case 0
ValutaNumero = "Z"
End Select
End Function
Ciao, Carlo


title: sostituzione testo

text:
"Carlo Costarella" <
carloco...@libero.it
> ha scritto:
>numeri e cifre sono la stessa cosa....forse volevi dire da numeri a testo.
>L'operazione va fatta da codice e questi i passaggi da seguire.
Hai ragione, adesso vado a dormire, domani provo a seguire i tuoi
consigli, ciao e grazie.


title: PROBLEMA SESSIONI SCOLLEGATE

author: MICHELE

text:
Salve,
ho un problema che mi assilla da tempo e che penso riguardi tutti
quelli che utilizzano collegamenti remoti.
Al minimo problema della connessione internet la sessione AS400 scade.
Per risolvere il problema potrei utilizzare il terminal server ma
ovviamente ha dei costi consistenti e di un ambiente completo windows
non ne ho la necessità.
Esiste qualche soluzione anche su linux che mi permettono di risolvere
il problema tipo citrix?
Ci sono soluzioni IBM per risolvere il problema
Grazie per l'attenzione.


title: PROBLEMA SESSIONI SCOLLEGATE

author: Roberto da Parma

text:
"MICHELE" <
mpa...@sis.it
> ha scritto nel messaggio
news:1194461345.0...@o3g2000hsb.googlegroups.com...

Il primo problema è che hai sbagliato News....trovata la News giusta forse
risolverai anche il secondo...
Ciao
--
Roberto da Parma


title: Programma per una biblioteca....

author: Biagio

text:
Sto' a rchiviando una biblioteca di spartiti musicali e li ho divisi
in varie categorie e sotto categorie (es: Quintetto op.16 di
Beethoven, 1. Musica strumentale -> 2. Musica da camera  ->3.
quintetti con il pianoforte). Le scelte le realizzo da tre caselle
combo: come posso fare affinchè in base alle scelte che faccio via via
vengano visualizzati solo alcuni dati nelle successive combo? Cioè se
all'inizio scelgo 1. Musica vocale nella combo successiva non voglo
che sia visualizzata una scelta non inerente tipo...2. Quartetto
d'archi.
In ogni caso ringrazio chi mi darà consigli e chiunque abbia avuto la
pazienza di leggere fin qui.
Grazie


title: Programma per una biblioteca....

author: Roberto da casa

text:
"Biagio" <
pbia...@rimini.com
> ha scritto nel messaggio
news:2qko6tsdnpkfm9skm...@4ax.com...

Giusto oggi ho risposto ad un messaggio di Claudia G del 19/01/01 ore 16:43
con oggetto "Gruppo Sottogruppo Categoria", che aeva un problema simile al
tuo, ovvero quello di avere tre caselle combinate da usare in cascade; prova
a dare un'occhiata al messaggio originale ed alla soluzione da me proposta.
Se poi ti nascono altri problemi attuativi rifatti vivo.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------


title: sparizione modifiche

author: Rox

text:
Sto sviluppando un applicativo con Access 97.
Ieri sera ho fatto delle modifiche a delle maschere e a del codice e (sono
sicurissimo!) ho salvato. Ho anche provato e funzionava tutto.
Questa mattina ho trovato ancora i vecchi colori e gli errori che avevo
corretto.
Siccome la cosa è successa anche ad un mio collega, non so se è un bug di
Access o se è che bisogna compattarlo (o non compattarlo) spesso o se c'è
qualche folletto che gira nel ns ufficio.
A qualcuno è successo similmente???
--
*****************************
** Harry Evans - Bolzano
** Clipper Specialist & Magician
** e-mail:
harry...@tin.it
*****************************
---------------------------------------------------------
->C.N.G.E.I. - Sezione di Bolzano
->
www.edp-progetti.it/cngei.bz
---------------------------------------------------------


title: SQL Insert Into db esterno, help sbagliato!

author: lbo dal portatile

text:
ma li mortacci!  poi dice uno si incazza!
non bastava che ne' sull'help ne' altrove fosse documentato che il
nome di un eventuale db esterno dovesse essere delimitato da apici,
no!
c'e' pure uno sbaglio su dove va posizionato il nome del db!
dall'help copioincollo:
INSERT INTO destinazione [IN databaseesterno] [(campo1[, campo2[,
..]])]
SELECT [origine.]campo1[, campo2[, ...]
FROM espressionetabella
manco per niente!
bisogna scrivere
INSERT INTO destinazione (campo1, campo2...) IN 'databaseesterno'
SELECT ecc. ecc.
infatti andandosi a costruire una query col qbe e controllando l'sql
generato il risultato e' il secondo!
--
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/


author: RoDAgo

text:
lbo dal portatile scrisse...
> ma li mortacci!  poi dice uno si incazza!
>
> non bastava che ne' sull'help ne' altrove fosse documentato che il
> nome di un eventuale db esterno dovesse essere delimitato da apici,
> no!
>
> c'e' pure uno sbaglio su dove va posizionato il nome del db!
>
> dall'help copioincollo:
>
> INSERT INTO destinazione [IN databaseesterno] [(campo1[, campo2[,
> ..]])]
> SELECT [origine.]campo1[, campo2[, ...]
> FROM espressionetabella
>
> manco per niente!
>
> bisogna scrivere
>
> INSERT INTO destinazione (campo1, campo2...) IN 'databaseesterno'
> SELECT ecc. ecc.
>
> infatti andandosi a costruire una query col qbe e controllando l'sql
> generato il risultato e' il secondo!
E' proprio il caso di dire, Santo Qbe!  ;-)
RoDAgo


title: Problema su campo DATA su ricerca da codice con metodo FIND

author: Mauro MMK

text:
Ciao a tutti,
   ho realizzato una funzione che calcola la giacenza su una tabella che
contiene CARICHI-SCARICHI di un magazzino
ma ho il problema che quando setto la stringa per la ricerca usando un campo
che contiene una data ACCESS non trova il record corrispondente anche se
questo esiste. (sembra che inverta MESE con il GIORNO)
Ho provato ad usare anche la funzione FORMAT ma non funziona. Qualcuno ha
qualche suggerimento da darmi ???
Grazie
Ciao
Mauro
qui sotto metto la funzione:
Public Function CalcoloGiacenza(IDArt As Long, DataGiac As Date)
On Error GoTo Errore_Giacenza
    Dim dbs As Database, tdf As TableDef
    Dim rst As Recordset
    Dim CodArt As String
    Dim Giac As Long
    ' Restituisce il riferimento al database corrente.
    Set dbs = CurrentDb
    ' Apre oggetto Recordset di tipo tabella.
    Set rst = dbs.OpenRecordset("CarichiScarichiOrdArticoli", dbOpenDynaset)
    If rst.EOF Then
        Giacenza = 0
        GoTo Fine
    End If
    'Apro
    'Determino la data nel formato corretton per SQL (Vuole la data nel
formato Mese/Giorno/Anno)
    'DataControllo = Format(DataGiac, "mm/dd/yyyy")
    'DataControllo = DataGiac
    ' Imposta ricerca Articolo
    'CodArt = "IDArticolo = " + CStr(IDArt) + " AND DataCaricoScarico <= #"
& DataGiac & "#"
    CodArt = "DataCaricoScarico = #" & DataGiac & "#"
    rst.MoveFirst
    rst.FindFirst CodArt
    'Inizializzo variabile Giac
    Giac = 0
    While Not rst.NoMatch
        'se TipoMovimento = 1 (è un carico)
        If rst.Fields("TipoMovimento") = 1 Then
            Giac = Giac + CInt(rst.Fields("Quantità"))
        Else
            Giac = Giac - CInt(rst.Fields("Quantità"))
        End If
        'Trova il prossimo che soddisfa la ricerca
        rst.FindNext CodArt
    Wend
Fine:
    'Restituisco il valore calcolato
    CalcoloGiacenza = Giac
Uscita_Giacenza:
    Exit Function
Errore_Giacenza:
    MsgBox "Numero errore: " & CStr(Err) & " --- " & Error$, , ManImp_Box
    Resume Uscita_Giacenza
End Function


title: Posizionarsi nell'ultimo record di una sottomaschera

author: Marco

text:
Salve,
ho l'esigenza di posizionarmi nell'ultima
riga di una sottomaschera; risolvo naturalmente con GotoRecord acLast, ma
vorrei che l'ultimo record venga visualizzato come primo,
Mi spiego meglio, la sottomaschera dovrebbe scorrere in modo tale che
l'ultimo record sia il primo ad essere visualizzato.
Si puň fare ?
Grazie in anticipo.
Marco


author: NSantini

text:
"Marco" <
mmsis...@alice.it
> ha scritto nel messaggio
news:48ad9d3e$0$18146$4faf...@reader3.news.tin.it...

Sě, vedi l'help e agisci sul parametro "offset" impostandolo al numero di
record che ti interessano (nel tuo caso credo 1)
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord acDataForm, "nome maschera", acLast
DoCmd.GoToRecord acDataForm, "nome maschera", acPrevious, 1
End Sub
NSantini


text:
Marco ha scritto:

se il record della sottomaschera sono numerati (hanno un id o un numero riga) puoi ordinare quello in modo decrescente.....
--
Questo articolo e` stato inviato dal sito web
http://www.nonsolonews.it


text:
"Fair87" <
roby...@gmail.com
> ha scritto nel messaggio
news:g8k7br$knb$1...@news.nonsolonews.it...
> Marco ha scritto:
>>Salve,
>>ho l'esigenza di posizionarmi nell'ultima
>>riga di una sottomaschera; risolvo naturalmente con GotoRecord acLast, ma
>>vorrei che l'ultimo record venga visualizzato come primo,
>>Mi spiego meglio, la sottomaschera dovrebbe scorrere in modo tale che
>>l'ultimo record sia il primo ad essere visualizzato.
>>Si può fare ?
>>Grazie in anticipo.
>>Marco
>>
>>
> se il record della sottomaschera sono numerati (hanno un id o un numero
> riga) puoi ordinare quello in modo decrescente.....
>
> --
> Questo articolo e` stato inviato dal sito web
http://www.nonsolonews.it
Grazie per i suggerimenti. In realtà il numero dei records  (possono essere
molti) "consegna prodotto" può variare , essendo legati al "prodotto" della
maschera principale.
Qualche suggerimento più specifico ?
Marco


text:
Marco ha scritto:
>
>"Fair87" <roby.ces@gmail . com > ha scritto nel messaggio
>news:g8k7br$knb$1...@news.nonsolonews . it ...
>> Marco ha scritto:
>>>Salve,
>>>ho l'esigenza di posizionarmi nell'ultima
>>>riga di una sottomaschera; risolvo naturalmente con GotoRecord acLast, ma
>>>vorrei che l'ultimo record venga visualizzato come primo,
>>>Mi spiego meglio, la sottomaschera dovrebbe scorrere in modo tale che
>>>l'ultimo record sia il primo ad essere visualizzato.
>>>Si può fare ?
>>>Grazie in anticipo.
>>>Marco
>>>
>>>
>> se il record della sottomaschera sono numerati (hanno un id o un numero
>> riga) puoi ordinare quello in modo decrescente.....
>>
>> --
>> Questo articolo e` stato inviato dal sito web  * w w w .nonsolonews . it
>
>Grazie per i suggerimenti. In realtà il numero dei records  (possono essere
>molti) "consegna prodotto" può variare , essendo legati al "prodotto" della
>maschera principale.
>Qualche suggerimento più specifico ?
>Marco
>
>
>
Se nn ho caito male, tu hai una maschera (testata) e una sottomaschera (righe) legate in qualche modo. La sottomaschera avrà origine da qualche tabella o query giusto? Ora, se questa sorgente dati ha un qualche identificativo (tipo ogni riga che inserisci contiene il num della testata per il collegamento delle maschere ed un numero riga) allora ordini quello, magari con dei bottoni per cambiare l'ordinamento (altrimenti + professionale con il click sull'etichetta della colonna). Poi con acLast ti posizioni sull'ultimo record inserito, che ovviamente è il primo della lista. Altrimenti nn ho capito.....



author: Geppo

text:

prova ad inserire questo nell'origine record della subform:
Select NomeTuaTabella.* from NomeTuaTabella order by dcount("*",
"NomeTuaTabella")
--
Ciao
Geppo


text:
"Geppo" <c...@tin.it.invalid> ha scritto nel messaggio
news:JBmrk.46092$Ca.1...@twister2.libero.it...
> Ciao Marco wrote:
>> "Fair87" <
roby...@gmail.com
> ha scritto nel messaggio
>> news:g8k7br$knb$1...@news.nonsolonews.it...
>>> Marco ha scritto:
>> Grazie per i suggerimenti. In realtà il numero dei records  (possono
>> essere molti) "consegna prodotto" può variare , essendo legati al
>> "prodotto" della maschera principale.
>> Qualche suggerimento più specifico ?
>"Fair87" <roby.ces@gmail . com > ha scritto nel messaggio
Se nn ho caito male, tu hai una maschera (testata) e una sottomaschera
(righe) legate in qualche modo. La sottomaschera avrà origine da qualche
tabella o query giusto? Ora, se questa sorgente dati ha un qualche
identificativo (tipo ogni riga che inserisci contiene il num della testata
per il collegamento delle maschere ed un numero riga) allora ordini quello,
magari con dei bottoni per cambiare l'ordinamento (altrimenti +
professionale con il click sull'etichetta della colonna). Poi con acLast ti
posizioni sull'ultimo record inserito, che ovviamente è il primo della
lista. Altrimenti nn ho capito.....
>>
>> Geppo ha scritto:
>
> prova ad inserire questo nell'origine record della subform:
>
> Select NomeTuaTabella.* from NomeTuaTabella order by dcount("*",
> "NomeTuaTabella")
>
Grazie a tutti, vanno bene entrambe le vs soluzioni.
Marco


Ciao a tutti, come da oggetto, mi si presenta il seguente messaggio
all'apertura di un report con access 2002:
"alcuni dati potrebbero non essere visualizzati".
E' possibile disattivarlo?
Grazie a tutti.
K.


title: alcuni dati potrebbero non essere visualizzati

text:
Di solito questo messaggio viene visualizzato quando una parte del
report non è entro i margini di stampa, verifica che le dimensioni del
report siano compatibili con la dimensione del foglio associato.



text:
Grazie gabry69, lo immaginavo.
Ma non esiste un modo per non fare uscire questo msg? Perchè la stampa
è a posto, solo che non mi piace il messaggio. Qualcosa tipo
Docmd.SetWarnings 0 ? (comando che ovviamente non funziona in questo
frangente).
Grazie.
K.
gabry69 ha scritto:



title: DB che non si apre

author: Max

text:
Ciao
ho realizzato con la Vs. collaborazione un db con access 2000, per la
gestione di una biblioteca, purtroppo stamattina, ricevo un messaggio
d'errore, in cui mi avvisa che il db o è già aperto, ma il file .ldb non c'è
o che non ho l'autorizzazione. Ho provato ad importare le tabelle con un
altro db, ma ricevo lo stesso messaggio, tenete presente che non posso ne
copiarlo ne zipparlo.
Qualche suggerimento?
Grazie
Massimo


title: DB che non si apre

author: Claudio

text:
"Max" <
lafloch...@hotmail.com
> ha scritto nel messaggio
news:ap0gdp$gl1$1...@lacerta.tiscalinet.it...



title: DB che non si apre

text:
"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:rPTs9.15576$aL4.4...@news1.tin.it...

Chiedo scusa per il precedente messaggio ma mi è partito per errore (per fortuna non avevo
scritto sconcezze :-)
Quando dici che non puoi copiarlo intendi dire che lo stesso Windows ti dice che il file è
aperto? In questo caso, perdona la domanda stupida, succede lo stesso anche riavviando il
S.O.? Giusto per capire la situazione...
Ciao. Claudio.


title: DB che non si apre

text:
"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:6STs9.15587$aL4.4...@news1.tin.it...
> "Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
> news:rPTs9.15576$aL4.4...@news1.tin.it...
> Chiedo scusa per il precedente messaggio ma mi è partito per errore (per
fortuna non avevo
> scritto sconcezze :-)
> Quando dici che non puoi copiarlo intendi dire che lo stesso Windows ti
dice che il file è
> aperto? In questo caso, perdona la domanda stupida, succede lo stesso
anche riavviando il
> S.O.? Giusto per capire la situazione...
>
> Ciao. Claudio.
Ciao
oramai l'avrò riavviato infinite volte, e visto che il computer in
precedenza era collegato ad una rete aziendale (adesso non più) ho provato a
cambiare più di un utente. Ho l'impressione che sia stato modificato
impostando un utente che non conosco, ma visto che la tra le proprietà del
db è scritto il mio nome, proprio non lo capisco.
Grazie
Max


title: DB che non si apre

text:
"Max" <
lafloch...@hotmail.com
> ha scritto nel messaggio
news:ap1353$qsq$1...@lacerta.tiscalinet.it...
> Ciao
> oramai l'avrò riavviato infinite volte, e visto che il computer in
> precedenza era collegato ad una rete aziendale (adesso non più) ho provato a
> cambiare più di un utente. Ho l'impressione che sia stato modificato
> impostando un utente che non conosco, ma visto che la tra le proprietà del
> db è scritto il mio nome, proprio non lo capisco.
Però non hai risposto alla mia precedente domanda.
Se vai in Esplora Risorse, e con il tuo file selezionato fai CTRL-C e CTRL-V, che ti dice?
Ciao. Claudio.


title: DB che non si apre

text:
"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:MkUs9.15676$aL4.4...@news1.tin.it...

Scusa
in questo caso non ho usato il Ctrl C ed il Ctrl V, ma il tasto Dx del mouse
copia> incolla ed ho sempre lo stesso errore, cioè o il db è già aperto o
non ho l'autorizzazione.
Ciao
Max


title: DB che non si apre

text:
"Max" <
lafloch...@hotmail.com
> ha scritto nel messaggio
news:ap13r6$rci$1...@lacerta.tiscalinet.it...
> in questo caso non ho usato il Ctrl C ed il Ctrl V, ma il tasto Dx del mouse
> copia> incolla ed ho sempre lo stesso errore, cioč o il db č gią aperto o
> non ho l'autorizzazione.
Entra come amministratore (se sei Windows 2000), tasto destro sul tuo file, proprietą,
scheda Protezione. Magari qui sei in grado di risolvere il problema da solo. In caso
contrario dimmi esattamente cosa compare nella maschera. Se sembra tutto a posto fai la
stessa cosa sulla cartella. Non lesinare le informazioni... č difficile dare una mano
dicendo le cose a spizzichi... Fai qualche prova e comunica i risultati.
Altre prove possono essere la partenza in provvisoria, la partenza con prompt di comandi,
la partenza con un floppy (se il file non sta su un NTFS), l'uso della Recovery Console,
il restore del tuo database da una copia di backup :-) etc.
Ciao. Claudio.


title: DB che non si apre

text:
"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:ZHUs9.15750$aL4.4...@news1.tin.it...
> Entra come amministratore (se sei Windows 2000), tasto destro sul tuo
file, proprietà,
> scheda Protezione. Magari qui sei in grado di risolvere il problema da
solo. In caso
> contrario dimmi esattamente cosa compare nella maschera. Se sembra tutto a
posto fai la
> stessa cosa sulla cartella. Non lesinare le informazioni... è difficile
dare una mano
> dicendo le cose a spizzichi... Fai qualche prova e comunica i risultati.
> Altre prove possono essere la partenza in provvisoria, la partenza con
prompt di comandi,
> la partenza con un floppy (se il file non sta su un NTFS), l'uso della
Recovery Console,
> il restore del tuo database da una copia di backup :-) etc.
>
> Ciao. Claudio.
Il sistema operativo e Windows 95 4.00.950 C con Access 2000 ed è installato
I.E. 5.5 4522. 1800.
Con il disco d'avvio di windows sono riuscito a copiarlo sul floppy e l'ho
provato ad aprirlo su di un'altro computer, questi sono i messaggi  d'errore
che ricevo:
1° il DB biblioteca.mdb deve essere ripristinato o non è un DB è possibile
che Access sia stato chiuso inaspettatamente mentre un il DB era aperto.
Tentare di ripristinare il DB?   Schiaccio SI ed ho:
2° Formato di DB non riconosciuto! Schiaccio l'OK
3° Il DB non può essere ripristinato o non è un DB di Access!!!!!
Altri consigli
Grazie
Max


title: DB che non si apre

text:
"Max" <
lafloch...@hotmail.com
> ha scritto nel messaggio
news:ap180v$ua9$1...@lacerta.tiscalinet.it...
> Il sistema operativo e Windows 95 4.00.950 C con Access 2000 ed è installato
> I.E. 5.5 4522. 1800.
L'avessi detto subito, avrei evitato le spiegone a proposito della protezione...
> Con il disco d'avvio di windows sono riuscito a copiarlo sul floppy e l'ho
> provato ad aprirlo su di un'altro computer, questi sono i messaggi  d'errore
> che ricevo:
>
> 1° il DB biblioteca.mdb deve essere ripristinato o non è un DB è possibile
> che Access sia stato chiuso inaspettatamente mentre un il DB era aperto.
> Tentare di ripristinare il DB?   Schiaccio SI ed ho:
> 2° Formato di DB non riconosciuto! Schiaccio l'OK
> 3° Il DB non può essere ripristinato o non è un DB di Access!!!!!
Il file copiato appare essere proprio non utilizzabile. Puoi ancora provare ad aprirlo con
l'opzione /decompile, ma non sono molto fiducioso. (Una cosa del tipo
"C:\Programmi\Microsoft Office\Office\msaccess.exe" /Decompile "C:\biblioteca.mdb").
Evidentemente nel processo di copia da DOS dei pezzi di file sono rimasti sull'HD...
magari in seguito a uno spegnimento improvviso del PC, dei cluster sono rimasti non
assegnati al file (e quindi non copiati sul tuo floppy). I tentativi di ripristino in
queste situazioni non sono mai semplici, e spesso si riducono a dover tentare di
riassegnare i cluster persi al file a manina, con un editor di disco. Oppure provare
qualcosa del tipo Norton Utilities et similia, nel tentativo di recuperare il file.
Ho paura che siamo ormai fuori dal seminato, e se l'opzione /decompile non riesce a
ricostruire la situazione, con Access ci possa fare ben poco. Sembra ormai diventato un
problema di corruzione di file, indipendente dal nostro caro applicativo.
La soluzione migliore è una bella copia di backup del file :-o
Ciao. Claudio.


title: DB che non si apre

text:
"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:WA8t9.18250$aL4.5...@news1.tin.it...
c> Ho paura che siamo ormai fuori dal seminato, e se l'opzione /decompile
non riesce a
> ricostruire la situazione, con Access ci possa fare ben poco. Sembra ormai
diventato un
> problema di corruzione di file, indipendente dal nostro caro applicativo.
> La soluzione migliore č una bella copia di backup del file :-o
>
> Ciao. Claudio.
Ciao
purtroppo con l'opzione decompile mi si apre Access ed ho gli stessi segnali
d'errore.
Grazie per l'interessamento
Max


title: Prodotto cartesiano

author: Jiji

text:
Ciao a tutti,
vorrei sapere come da oggetto qual'e' l'istruzione(se c'e') in access
per effettuare un prodotto cartesiano tra tabelle(no join)
Grazie
Jiji


title: Prodotto cartesiano

text:
"Jiji" <imagemanNO...@GRAZIElibero.it> ha scritto nel messaggio
news:aAoDe.8297$a5.1...@twister2.libero.it...
> Ciao a tutti,
> vorrei sapere come da oggetto qual'e' l'istruzione(se c'e') in access
> per effettuare un prodotto cartesiano tra tabelle(no join)
COME SAREBBE A DIRE NO JOIN!!!!
Il prodotto cartesiano è un join senza condizione.
Te ne puoi rendere conto scrivendo:
SELECT * FROM Tabella1, Tabella2
Ti torna?
Ciao.
--
Simplex2
www.mdenittis.it
________________
LEGGE DEGLI EQUILIBRI DI SIMPLEX2
Da un grande potere, derivano grandi responsabilità,
da grandi responsabilità, derivano grandi rompimenti di palle,
i rompimenti di palle sono una gran perdita di tempo ma il tempo è denaro,
quindi una gran perdita di denaro comporta una grande perdita di potere.


title: Prodotto cartesiano

text:
"simplex2" <
simp...@inestistente.it
> ha scritto nel messaggio
news:dbl4of$7dd$1...@canarie.caspur.it...
> "Jiji" <imagemanNO...@GRAZIElibero.it> ha scritto nel messaggio
> news:aAoDe.8297$a5.1...@twister2.libero.it...
>> Ciao a tutti,
>> vorrei sapere come da oggetto qual'e' l'istruzione(se c'e') in access
>> per effettuare un prodotto cartesiano tra tabelle(no join)
>
[CUT]
scusa ma mi sono espresso male...
...volevo dire che non voglio utilizzare l'"inner join" ma un "full join"
cioe' che mi includa le tuple vuote...


title: Prodotto cartesiano

author: Carlo Costarella

text:
"Jiji" <imagemanNO...@GRAZIElibero.it> ha scritto nel messaggio
news:aAoDe.8297$a5.1...@twister2.libero.it...
>

Leggi:
http://www.liceofoscarini.it/didattic/data-base/relazion/cartesiano.html
e
http://www.liceofoscarini.it/didattic/data-base/relazion/join.html
La relazione la puoi stabilire anche a livello di query.
Potresti, al limite, e con Access non stabilire una relazione nella query.
Questo un link molto ben spiegato:
http://www.di.unito.it/~rover/DIDATTICA/SCIPOL/SISTEMI-INFORMATIVI/NOTE/GestioneDeiDati-4_2_1_Prodotto_cartesiano.html
Ciao, Carlo


title: Prodotto cartesiano

author: giorgio rancati

text:
"Jiji" <imagemanNO...@GRAZIElibero.it> ha scritto nel messaggio
news:cIoDe.8304$a5.1...@twister2.libero.it...
> [CUT]
> scusa ma mi sono espresso male...
> ...volevo dire che non voglio utilizzare l'"inner join" ma un "full join"
> cioe' che mi includa le tuple vuote...
Ciao Jiji
In Access non esiste la Full Join, devi arrangiarti con una Left Join in
Union con una Right Join.
Ciao Giorgio